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つ目の構文では、比較対象として任意のオブジェクトを指定します。2つ目の構文では、比較対象として符号なし整数(ulong)を直接指定します。
戻り値の意味
- 0:現在のインスタンスが比較対象の値と等しい場合
- 0未満の値:現在のインスタンスが比較対象の値より小さい場合
- 0より大きい値:現在のインスタンスが比較対象の値より大きい場合
なお、object型を受け取るオーバーロードを使用する際に、引数がUInt64型でない場合はArgumentExceptionがスローされる点に注意してください。
使用例1:ulong型同士の比較
まず、ulong型の値同士を比較する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
ulong val1 = 257876;
ulong val2 = 5657655;
int res = val1.CompareTo(val2);
Console.WriteLine("Return value (comparison) = "+res);
if (res > 0)
Console.WriteLine("val1 > val2");
else if (res < 0)
Console.WriteLine("val1 < val2");
else
Console.WriteLine("val1 = val2");
}
}出力結果
このコードを実行すると、次の出力が得られます。
Return value (comparison) = -1 val1 < val2
val1(257876)はval2(5657655)よりも小さいため、CompareTo()メソッドは負の値「-1」を返し、「val1 < val2」と表示されます。
使用例2:object型との比較
続いて、object型にボックス化されたUInt64値と比較する例です。
using System;
public class Demo {
public static void Main(){
ulong val1 = 258768768;
object val2 = (ulong)1765765;
int res = val1.CompareTo(val2);
Console.WriteLine("Return value (comparison) = "+res);
if (res > 0)
Console.WriteLine("val1 > val2");
else if (res < 0)
Console.WriteLine("val1 < val2");
else
Console.WriteLine("val1 = val2");
}
}出力結果
このコードを実行すると、次の出力が得られます。
Return value (comparison) = 1 val1 > val2
val1(258768768)はval2(1765765)よりも大きいため、CompareTo()メソッドは正の値「1」を返し、「val1 > val2」と表示されます。
まとめ
UInt64.CompareTo()メソッドを使うことで、64ビット符号なし整数の大小比較を簡単に行えます。戻り値の符号(負・ゼロ・正)を判定することで、等しい・小さい・大きいという3つの状態を効率的に処理できるのが特徴です。ソート処理や条件分岐など、数値比較が必要な場面で活用してみてください。
-
C#のUInt16.Equalsメソッドとは?使い方をサンプルコード付きで解説
C#のUInt16.Equals()メソッドは、現在のインスタンスが指定したオブジェクトまたはUInt16(16ビット符号なし整数)の値と等しいかどうかを示すbool値を返すメソッドです。構文UInt16.Equals()メソッドには、以下の2種類の構文があります。public override bool Equals (object ob); public bool Equals (ushort ob);1つ目の構文のパラメータobは、このインスタンスと比較する対象のオブジェクトです。2つ目の構文のパラメータobは、このインスタンスと比較する16ビット符号なし整数(ushort)です。戻り値
-
C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説
C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。 構文 UInt16.CompareTo()メソッドの構文は以下の2種類があります。 public int CompareTo (object val); public int CompareTo (ushort val); 1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定