同じ型の 2 つのオブジェクトに対して大文字小文字を区別しない比較を実行し、一方が他方よりも小さいか、等しいか、大きいかを示す値を返します。
Public Overridable Function Compare( _
ByVal a As Object, _ ByVal b As Object _) As Integer Implements IComparer.Compare
[C#]
public virtual int Compare(objecta,objectb);
[C++]
public: virtual int Compare(Object* a,Object* b);
[JScript]
public function Compare(
a : Object,b : Object) : int;
パラメータ
- a
比較対象の第 1 オブジェクト。 - b
比較対象の第 2 オブジェクト。
戻り値
値 | 説明 |
---|---|
0 より小さい値 | a が b より小さい。大文字と小文字は区別されません。 |
0 | a と b は等しい。大文字と小文字は区別されません。 |
0 より大きい値 | a が b より大きい。大文字と小文字は区別されません。 |
実装
例外
例外の種類 | 条件 |
---|---|
ArgumentException | a と b が、いずれも IComparable インターフェイスを実装していません。
または a と b の型が異なります。 |
解説
a と b がどちらも文字列の場合、このメソッドは CompareInfo.Compare を使用して、大文字と小文字を無視して文字列の比較を行います。それ以外の場合は、いずれかのオブジェクトの IComparable 実装を使用します。つまり、 a が IComparable を実装している場合、このメソッドは a. CompareTo (b) の結果を返します。それ以外の場合、 b が IComparable を実装していれば、 b. CompareTo (a) を否定した結果を返します。
null 参照 (Visual Basic では Nothing) を任意の型と比較できます。このような比較を行っても、 IComparable を使用した場合に例外が生成されることはありません。並べ替え処理では、 null 参照 (Nothing) は、他のすべてのオブジェクトより小さいと見なされます。
文字列比較の結果は、カルチャに応じて異なる場合があります。カルチャ固有の比較の詳細については、 System.Globalization 名前空間のトピックおよび「 国際対応アプリケーションの開発 」を参照してください。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
CaseInsensitiveComparer クラス | CaseInsensitiveComparer メンバ | System.Collections 名前空間 | IComparable | System.Globalization.CompareInfo | Thread.CurrentCulture | System.Globalization.CultureInfo | カルチャを認識しないコレクションの操作の実行