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

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

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

構文

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

public int CompareTo (sbyte val);
public int CompareTo (object ob);

1つ目の構文のパラメータ val は、比較対象となる8ビット符号付き整数(sbyte)です。2つ目の構文のパラメータ ob は、比較対象となるオブジェクトを指定します。

戻り値について

CompareTo()メソッドの戻り値は以下の通りです。

  • 負の整数:現在のインスタンスが引数より小さい場合
  • 0:現在のインスタンスと引数が等しい場合
  • 正の整数:現在のインスタンスが引数より大きい場合

使用例①:sbyte同士の比較

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

using System;
public class Demo {
   public static void Main() {
      sbyte s1 = 55;
      sbyte s2 = 55;
      Console.WriteLine("Value of S1 = "+s1);
      Console.WriteLine("Value of S2 = "+s2);
      int res = s1.CompareTo(s2);
      if (res > 0)
         Console.WriteLine("s1 > s2");
      else if (res < 0)
         Console.WriteLine("s1 < s2");
      else
         Console.WriteLine("s1 = s2");
   }
}

実行結果

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

Value of S1 = 55
Value of S2 = 55
s1 = s2

s1とs2はどちらも55という同じ値なので、CompareTo()メソッドは0を返し、「s1 = s2」が出力されます。

使用例②:object型との比較

次に、2つ目のオーバーロードを使って、object型との比較を行う例を紹介します。

using System;
public class Demo {
   public static void Main() {
      sbyte s1 = 55;
      object s2 = (sbyte)55;
      Console.WriteLine("Value of S1 = "+s1);
      Console.WriteLine("Value of S2 = "+s2);
      int res = s1.CompareTo(s2);
      if (res > 0)
         Console.WriteLine("s1 > s2");
      else if (res < 0)
         Console.WriteLine("s1 < s2");
      else
         Console.WriteLine("s1 = s2");
   }
}

実行結果

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

Value of S1 = 55
Value of S2 = 55
s1 = s2

この例では、s2をobject型としてボックス化していますが、値が同じ55であるため、結果は「s1 = s2」となります。

まとめ

SByte.CompareTo()メソッドを使うことで、sbyte値同士、あるいはobject型との大小関係を簡単に判定できます。戻り値の符号(負・0・正)によって比較結果を判断するのがポイントです。ソート処理や条件分岐など、さまざまな場面で活用できる便利なメソッドなので、ぜひ使いこなしましょう。

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