C#のDouble.CompareToメソッドとは?使い方をサンプルコードで解説
C#のDouble.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはDouble型の値を比較し、その結果を整数値として返すメソッドです。戻り値を確認することで、このインスタンスが指定した値より小さいか、等しいか、大きいかを判定できます。
構文
構文は以下の通りです。
public int CompareTo (double val); public int CompareTo (object val);
1つ目の構文では、引数valに比較対象となる倍精度浮動小数点数(double)を指定します。2つ目の構文では、引数valに比較対象となるオブジェクトを指定します。
戻り値の意味
CompareToメソッドは、比較結果に応じて以下の整数値を返します。
- 0より小さい値:このインスタンスが指定した値より小さい場合
- 0:このインスタンスが指定した値と等しい場合
- 0より大きい値:このインスタンスが指定した値より大きい場合
使用例①:double型同士の比較
まず、同じ値を持つ2つのdouble型変数を比較する例を見てみましょう。
using System;
public class Demo {
public static void Main() {
double d1 = 150d;
double d2 = 150d;
Console.WriteLine("Double1 Value = "+d1);
Console.WriteLine("Double2 Value = "+d2);
Console.WriteLine("Are both the double values equal? = "+d1.CompareTo(d2));
}
}
出力
上記のコードを実行すると、次のような結果が表示されます。
Double1 Value = 150 Double2 Value = 150 Are both the double values equal? = 0
両方の値が等しいため、CompareToメソッドは「0」を返しています。
使用例②:object型との比較
次に、object型の変数と比較する例を見てみましょう。
using System;
public class Demo {
public static void Main() {
double d1 = 20d;
object d2 = 20d;
Console.WriteLine("Double1 Value = "+d1);
Console.WriteLine("Double2 Value = "+d2);
Console.WriteLine("Are both the double values equal? = "+d1.CompareTo(d2));
}
}
出力
上記のコードを実行すると、次のような結果が表示されます。
Double1 Value = 20 Double2 Value = 20 Are both the double values equal? = 0
このように、Double.CompareToメソッドはdouble型同士だけでなくobject型とも比較できるため、さまざまな場面での大小比較処理に活用できます。
-
C#のUInt64.CompareTo()メソッドとは?構文と使い方を実例付きで解説
C#のUInt64.CompareTo()メソッドは、現在のインスタンス(呼び出し元のUInt64値)と、指定されたオブジェクトまたはUInt64値を比較し、両者の相対的な大小関係を示す整数値を返すメソッドです。UInt64型は64ビットの符号なし整数(範囲:0 ~ 18,446,744,073,709,551,615)を表すため、大きな正の数値同士の比較に適しています。構文UInt64.CompareTo()メソッドには、以下の2つのオーバーロードがあります。public int CompareTo(object val); public int CompareTo(ulong val);1
-
C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説
C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。 構文 UInt16.CompareTo()メソッドの構文は以下の2種類があります。 public int CompareTo (object val); public int CompareTo (ushort val); 1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定