CaseInsensitiveComparer.Compare(Object, Object) メソッド


同じ型の 2 つのオブジェクトに対して大文字小文字を区別しない比較を実行し、一方が他方よりも小さいか、等しいか、大きいかを示す値を返します。Performs a case-insensitive comparison of two objects of the same type and returns a value indicating whether one is less than, equal to, or greater than the other.

 virtual int Compare(System::Object ^ a, System::Object ^ b);
public int Compare (object a, object b);
abstract member Compare : obj * obj -> int
override this.Compare : obj * obj -> int
Public Function Compare (a As Object, b As Object) As Integer



比較する最初のオブジェクト。The first object to compare.


比較する 2 番目のオブジェクト。The second object to compare.


ab の相対値を示す符号付き整数。次の表を参照してください。A signed integer that indicates the relative values of a and b, as shown in the following table.

Value 意味Meaning
ゼロより小さいLess than zero ab より小さい。大文字と小文字は区別されません。a is less than b, with casing ignored.
0Zero ab は等しい。大文字と小文字は区別されません。a equals b, with casing ignored.
ゼロより大きいGreater than zero ab より大きい。大文字と小文字は区別されません。a is greater than b, with casing ignored.



ab が、いずれも IComparable インターフェイスを実装していません。Neither a nor b implements the IComparable interface.

または-or- ab の型が異なります。a and b are of different types.


ab が両方とも文字列の場合、このメソッドは CompareInfo.Compare を使用して文字列を大文字小文字を区別して比較します。それ以外の場合は、いずれかのオブジェクトの IComparable 実装を使用します。If a and b are both strings, this method uses CompareInfo.Compare to compare the strings with the casing ignored; otherwise, it uses the IComparable implementation of either object. つまり、aIComparableを実装している場合、このメソッドは aの結果を返します。That is, if a implements IComparable, then this method returns the result of a. CompareTo (b);それ以外の場合、bIComparableを実装している場合は、bの否定された結果を返します。CompareTo (b); otherwise, if b implements IComparable, then it returns the negated result of b. CompareTo (a).CompareTo (a).

null と任意の型の比較は許可されており、IComparableを使用する場合、例外は生成されません。Comparing null with any type is allowed and does not generate an exception when using IComparable. 並べ替えを行う場合、null は他のオブジェクトより小さいと見なされます。When sorting, null is considered to be less than any other object.

文字列比較の結果は、カルチャによって異なる場合があります。String comparisons might have different results depending on the culture. カルチャ固有の比較の詳細については、System.Globalization 名前空間とグローバリゼーションおよびローカリゼーションに関する説明を参照してください。For more information on culture-specific comparisons, see the System.Globalization namespace and Globalization and Localization.