もこたんブログ@mocuLab(・ω・)

Programming & Designing

C#のCompareメソッド、CompareToメソッドの戻り値の覚え方。すぐ忘れる人向け

覚え方

普通の算数式のようにイメージすると、合点がいく。
「左 - 右 = 結果」の「結果」が正か負かを調べると考えるとわかりやすい。

なるほど、これは覚えやすい(´・ω・`)!

string str01 = "01";
string str05 = "05";
string str10 = "10";

// 01 - 05 = -04(負の数のとき、負の-1が返る)
// 戻り値:-1 (>= 0)
var res1 = str01.CompareTo(str05);

// 10 - 05 = 05 (正の数のとき、正の1が返る)
// 戻り値:1 (<= 0)
var res2 = str10.CompareTo(str05);

// サンプル
if (str01.CompareTo(str05) < 0)
{
    // 05が大きいとき
}
if (str10.CompareTo(str05) > 0)
{
    // 05が小さいとき
}

参考

String.CompareTo メソッド
https://msdn.microsoft.com/ja-jp/library/35f0x18w(v=vs.110).aspx

Reference Source   http://referencesource.microsoft.com/#mscorlib/system/string.cs,141ddf57a009d676


CompareToメソッドの中では、CultureInfoのCompareInfoのCompareメソッドが呼ばれています。

String.Compare メソッド
https://msdn.microsoft.com/ja-jp/library/zkcaxw5y(v=vs.110).aspx