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・正)によって比較結果を判断するのがポイントです。ソート処理や条件分岐など、さまざまな場面で活用できる便利なメソッドなので、ぜひ使いこなしましょう。
-
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
-
C#のUInt16.CompareTo()メソッドの使い方をサンプルコード付きで解説
C#のUInt16.CompareTo()メソッドは、現在のインスタンスと指定されたオブジェクトまたはUInt16値を比較し、両者の相対的な大小関係を示す整数値を返します。数値の大小判定やソート処理などで活用できる便利なメソッドです。 構文 UInt16.CompareTo()メソッドの構文は以下の2種類があります。 public int CompareTo (object val); public int CompareTo (ushort val); 1つ目の構文では、比較対象として任意のオブジェクトを引数に指定します。2つ目の構文では、比較対象として符号なし整数(ushort)を直接指定