C#のUInt64.Equalsメソッドで指定したオブジェクト・UInt64との等価性を判定する方法
C#において、あるインスタンスが指定されたオブジェクトまたはUInt64の値と等しいかどうかを判定するには、UInt64.Equalsメソッドを使用します。このメソッドは、比較結果が等しければtrue、等しくなければfalseを返します。
UInt64.Equalsメソッドの概要
UInt64構造体には、Equalsメソッドのオーバーロードが2種類用意されています。
- Equals(Object) … 指定したオブジェクトが現在のインスタンスと等しいかどうかを判定します。
- Equals(UInt64) … 指定したUInt64(ulong)の値が現在のインスタンスと等しいかどうかを判定します。
例1:異なる値同士の比較
まず、異なる値を持つ2つのulong型変数をEqualsメソッドで比較する例を見てみましょう。
using System;
public class Demo {
public static void Main() {
ulong val1 = 44565777;
ulong val2 = 77878787;
bool res = val1.Equals(val2);
Console.WriteLine("戻り値(比較結果) = " + res);
if (res)
Console.WriteLine("val1 = val2");
else
Console.WriteLine("val1 != val2");
}
}出力
このコードを実行すると、次のような出力が得られます。
戻り値(比較結果) = False val1 != val2
val1(44565777)とval2(77878787)は異なる値であるため、Equalsメソッドはfalseを返し、「val1 != val2」が出力されます。
例2:同じ値同士の比較
次に、同じ値を持つ2つのulong型変数を比較してみましょう。
using System;
public class Demo {
public static void Main() {
ulong val1 = 78796878;
ulong val2 = 78796878;
bool res = val1.Equals(val2);
Console.WriteLine("戻り値(比較結果) = " + res);
if (res)
Console.WriteLine("val1 = val2");
else
Console.WriteLine("val1 != val2");
}
}出力
このコードを実行すると、次のような出力が得られます。
戻り値(比較結果) = True val1 = val2
今回はval1とval2がどちらも78796878という同じ値なので、Equalsメソッドはtrueを返します。
まとめ
UInt64.Equalsメソッドを使うことで、ulong型の値同士が等しいかどうかを簡単に判定できます。条件分岐と組み合わせれば、値の一致・不一致に応じた処理を柔軟に記述することが可能です。なお、Equalsメソッドは==演算子と同様の結果を返しますが、オブジェクトとして扱う場合やインターフェース経由で比較する場合にはEqualsメソッドの利用が有効です。
-
C#のUInt64構造体とは?主なメソッドと使い方を解説
UInt64構造体は、C#における64ビット符号なし整数を表す値型です。扱える値の範囲は、0から18,446,744,073,709,551,615(約1,844京)までとなっています。負の値を扱えない代わりに、Int64型よりも広い正の数値範囲を表現できるのが特徴です。この記事では、UInt64構造体が提供する主要なメソッドである「CompareTo()」と「Equals()」について、具体的なコード例とともに詳しく解説します。UInt64.CompareTo()メソッドUInt64.CompareTo()メソッドは、現在のインスタンスを指定されたオブジェクトまたは別のUInt64値と比較し
-
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