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

C#のInt16.CompareTo()メソッドとは?使い方と戻り値を実例で解説

C#のInt16.CompareTo()メソッドは、現在のインスタンス(このInt16型の値)と、指定されたオブジェクトまたは別のInt16インスタンスを比較し、その大小関係を示す整数値を返すメソッドです。戻り値を見ることで、現在のインスタンスが比較対象の値よりも「小さい」「等しい」「大きい」のどれに該当するかを判断できます。

なお、Int16は16ビット符号付き整数を表す型で、C#ではshortキーワードに相当します。

構文

Int16.CompareTo()メソッドには、以下の2つのオーバーロードがあります。

public int CompareTo (short val);
public int CompareTo (object val);

1つ目の構文では、引数 val は比較対象となる整数値(short型)を指定します。2つ目の構文では、引数 val は比較対象となるオブジェクトを指定します。

戻り値の意味

  • 0未満の値 … 現在のインスタンスが比較対象の値より小さい場合
  • 0 … 現在のインスタンスが比較対象の値と等しい場合
  • 0より大きい値 … 現在のインスタンスが比較対象の値より大きい場合

戻り値は具体的な差分を表すため、たとえば「20」と「18」を比較すると「2」が返されます。単に大小関係だけを知りたい場合は、戻り値の正負(またはゼロかどうか)を判定すれば十分です。

使用例1:異なる値を比較する場合

まずは、値が異なる場合のCompareTo()メソッドの動作を確認してみましょう。

using System;
public class Demo {
   public static void Main(){
      short val1 = 20;
      short 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) = 2

この例では、val1(20)がval2(18)より大きいため、差分である「2」が返されています。

使用例2:同じ値を比較する場合

次に、両者の値が等しい場合の動作を見てみましょう。

using System;
public class Demo {
   public static void Main(){
      short val1 = 10;
      short val2 = 10;
      Console.WriteLine("Value 1 = "+val1);
      Console.WriteLine("Value 2 = "+val2);
      Console.WriteLine("Return value (comparison) = "+val1.CompareTo(val2));
   }
}

出力結果

Value 1 = 10
Value 2 = 10
Return value (comparison) = 0

このように、両者の値が等しい場合は「0」が返されます。

まとめ

Int16.CompareTo()メソッドを使えば、2つのshort型の値を簡単に比較でき、その結果を数値として取得できます。ソート処理や条件分岐など、値の大小比較が必要な場面で活用できる便利なメソッドです。戻り値が「負なら小さい」「0なら等しい」「正なら大きい」というルールさえ覚えておけば、直感的に扱うことができます。

  1. C#の列挙型(Enum)をCompareToメソッドで比較する方法

    C#では、CompareTo()メソッドを使うことで、2つの列挙型(Enum)の値を簡単に比較できます。このメソッドは、呼び出し元の値と引数で渡した対象の値を比較し、その大小関係を数値で返します。 CompareToメソッドの戻り値 CompareTo()メソッドは、比較結果として以下のいずれかの値を返します。 0より小さい値:元の値が対象の値より小さい場合 0:元の値と対象の値が等しい場合 0より大きい値:元の値が対象の値より大きい場合 サンプルコード 以下は、列挙型の値をCompareTo()メソッドで比較する例です。 using System; class Program {

  2. C#のCompareTo()メソッドの使い方を解説

    C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数