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

C#のInt64.CompareTo()メソッドとは?使い方をサンプルコードで解説

C#のInt64.CompareTo()メソッドは、現在のインスタンス(この値)と、指定されたオブジェクトまたはInt64型の値を比較し、両者の相対的な大小関係を示す整数を返します。数値のソートや条件分岐など、値の大小を判定したい場面で活用できる便利なメソッドです。

構文

CompareTo()メソッドには、以下の2つのオーバーロードが用意されています。

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

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

戻り値の意味

このメソッドの戻り値は、比較結果に応じて次のような値になります。

  • 0より大きい値:現在のインスタンスが引数の値より大きい
  • 0:両者の値が等しい
  • 0より小さい値:現在のインスタンスが引数の値より小さい

使用例1:long型同士の比較

まず、long型の値同士を比較する基本的な例を見てみましょう。

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

val1(20)の方がval2(18)よりも大きいため、正の値である「1」が返されています。

使用例2:object型との比較

次に、object型としてボックス化された値との比較例を紹介します。

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

出力結果

上記のコードを実行すると、次の出力が得られます。

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

両者の値が等しいため、「0」が返されます。なお、object型を引数に取るオーバーロードを使用する場合、引数がInt64型以外のオブジェクトだとArgumentExceptionがスローされる点に注意してください。

  1. 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. C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説

    C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。 構文 UInt16.CompareTo()メソッドの構文は以下の2種類があります。 public int CompareTo (object val); public int CompareTo (ushort val); 1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定