C#
 Computer >> コンピューター >  >> プログラミング >> C#

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つの符号なし整数値の大小関係を簡単に判定できます。戻り値が負・ゼロ・正のいずれかで結果を判別できるため、条件分岐や並べ替え処理など、さまざまな場面で活用できます。

  1. 【C#入門】UInt16.GetHashCode()メソッドの使い方を実例付きで解説

    C#のUInt16.GetHashCode()メソッドは、現在のUInt16インスタンスに対応するハッシュコード(HashCode)を取得するために使用されます。ハッシュコードは、ハッシュテーブルなどのデータ構造でオブジェクトを効率的に管理・検索する際に活用される整数値です。構文UInt16.GetHashCode()メソッドの構文は以下の通りです。public override int GetHashCode ();このメソッドは引数を受け取らず、現在のインスタンスの値を表すint型のハッシュコードを返します。使用例1まず、基本的な実装例を見てみましょう。通常の値とUInt16.MinVal

  2. 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)です。戻り値