C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説
C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。
構文
UInt16.CompareTo()メソッドの構文は以下の2種類があります。
public int CompareTo (object val); public int CompareTo (ushort val);
1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定します。
戻り値について
CompareTo()メソッドの戻り値は、比較結果に応じて以下のように決まります。
- 0:現在のインスタンスが引数の値と等しい場合
- 0未満の値:現在のインスタンスが引数の値より小さい場合
- 0より大きい値:現在のインスタンスが引数の値より大きい場合
使用例1:ushort型同士の比較
まず、ushort型の値同士を比較する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
ushort val1 = 25;
ushort val2 = 55;
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) = -30 val1 < val2
この例では、val1(25)がval2(55)より小さいため、CompareTo()メソッドは差分である「-30」を返します。その結果、「val1 < val2」という判定が表示されます。
使用例2:object型との比較
続いて、引数にobject型を指定した場合の例を見てみましょう。
using System;
public class Demo {
public static void Main(){
ushort val1 = 25;
object val2 = (ushort)2;
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) = 23 val1 > val2
この例では、val1(25)がval2(2)より大きいため、CompareTo()メソッドは差分である「23」を返します。その結果、「val1 > val2」という判定が表示されます。
まとめ
UInt16.CompareTo()メソッドを使うことで、2つの符号なし整数値の大小関係を簡単に判定できます。戻り値が負・ゼロ・正のいずれかで結果を判別できるため、条件分岐や並べ替え処理など、さまざまな場面で活用できます。
-
【C#入門】UInt16.GetHashCode()メソッドの使い方を実例付きで解説
C#のUInt16.GetHashCode()メソッドは、現在のUInt16インスタンスに対応するハッシュコード(HashCode)を取得するために使用されます。ハッシュコードは、ハッシュテーブルなどのデータ構造でオブジェクトを効率的に管理・検索する際に活用される整数値です。構文UInt16.GetHashCode()メソッドの構文は以下の通りです。public override int GetHashCode ();このメソッドは引数を受け取らず、現在のインスタンスの値を表すint型のハッシュコードを返します。使用例1まず、基本的な実装例を見てみましょう。通常の値とUInt16.MinVal
-
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)です。戻り値