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

C#のSingle.CompareTo()メソッドの使い方を実例付きで解説

C#のSingle.CompareTo()メソッドは、現在のインスタンス(呼び出し元の値)を、指定されたオブジェクトまたは別のSingleインスタンスと比較し、両者の大小関係を示す整数値を返すメソッドです。

戻り値の意味は以下の通りです。

  • 1つ目のインスタンスが2つ目より小さい場合:0未満の値
  • 両者が等しい場合:0
  • 1つ目のインスタンスが2つ目より大きい場合:0より大きい値

構文

このメソッドには2つのオーバーロードがあります。

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

1つ目の構文のvalパラメータには、比較対象となる単精度浮動小数点数(float)を指定します。2つ目の構文では、比較対象として任意のオブジェクトを指定できます。

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

まず、2つのfloat値を比較する基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        float f1 = 50.7f;
        float f2 = 50.7f;
        Console.WriteLine("Value1 = "+f1);
        Console.WriteLine("Value1 = "+f2);
        Console.WriteLine("Is f1 and f2 equal? = "+f1.CompareTo(f2));
    }
}

出力結果

Value1 = 50.7
Value1 = 50.7
Is f1 and f2 equal? = 0

両者の値が等しいため、CompareTo()メソッドは「0」を返しています。

使用例2:object型との比較

次に、object型にボックス化された値と比較する例を紹介します。戻り値を使って条件分岐を行うことで、大小関係を明確に判定できます。

using System;
public class Demo {
    public static void Main(){
        float f1 = 50.7f;
        object f2 = 50.7f;
        Console.WriteLine("Value1 = "+f1);
        Console.WriteLine("Value1 = "+f2);
        int res = f1.CompareTo(f2);
        if (res > 0)
            Console.WriteLine("f1 > f2");
        else if (res < 0)
            Console.WriteLine("f1 < f2");
        else
            Console.WriteLine("f1 = f2");
    }
}

出力結果

Value1 = 50.7
Value1 = 50.7
f1 = f2

戻り値resが0だったため、「f1 = f2」と表示されました。このように、CompareTo()メソッドの戻り値をif文で判定することで、数値の大小関係を柔軟に処理できます。

  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)を直接指定