C#のInt64.CompareTo()メソッドとは?使い方をサンプルコードで解説
C#のInt64.CompareTo()メソッドは、現在のインスタンス(この値)と、指定されたオブジェクトまたはInt64型の値を比較し、両者の相対的な大小関係を示す整数を返します。数値のソートや条件分岐など、値の大小を判定したい場面で活用できる便利なメソッドです。
構文
CompareTo()メソッドには、以下の2つのオーバーロードが用意されています。
public int CompareTo (long val); public int CompareTo (object val);
1つ目の構文では、引数valに比較対象となる整数(long型)を指定します。2つ目の構文では、比較対象となるオブジェクトを指定します。
戻り値の意味
このメソッドの戻り値は、比較結果に応じて次のような値になります。
- 0より大きい値:現在のインスタンスが引数の値より大きい
- 0:両者の値が等しい
- 0より小さい値:現在のインスタンスが引数の値より小さい
使用例1:long型同士の比較
まず、long型の値同士を比較する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
long val1 = 20;
long val2 = 18;
Console.WriteLine("Value 1 = "+val1);
Console.WriteLine("Value 2 = "+val2);
Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
}
}出力結果
上記のコードを実行すると、次の出力が得られます。
Value 1 = 20 Value 2 = 18 Return value (comparison) = 1
val1(20)の方がval2(18)よりも大きいため、正の値である「1」が返されています。
使用例2:object型との比較
次に、object型としてボックス化された値との比較例を紹介します。
using System;
public class Demo {
public static void Main(){
long val1 = 20;
object val2 = (long)20;
Console.WriteLine("Value 1 = "+val1);
Console.WriteLine("Value 2 = "+val2);
Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
}
}出力結果
上記のコードを実行すると、次の出力が得られます。
Value 1 = 20 Value 2 = 20 Return value (comparison) = 0
両者の値が等しいため、「0」が返されます。なお、object型を引数に取るオーバーロードを使用する場合、引数がInt64型以外のオブジェクトだとArgumentExceptionがスローされる点に注意してください。
-
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)を直接指定