Comparer.Compare(Object, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
同じ型の 2 つのオブジェクトの大文字と小文字を区別して比較を実行し、1 つが他方より小さいか、等しいか、または大きいかを示す値を返します。
public:
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
パラメーター
- a
- Object
比較する最初のオブジェクト。
- b
- Object
比較する 2 番目のオブジェクト。
返品
次の表に示すように、 a と bの相対値を示す符号付き整数。
| 価値 | 意味 |
|---|---|
| 0 未満 |
a が b未満です。
|
| ゼロ |
a は bと等しくなります。
|
| 0 より大きい |
a が b より大きい。
|
実装
例外
例
次のコード例は、CompareComparerに関連付けられているカルチャに応じて異なる値を返す方法を示しています。
using System;
using System.Collections;
using System.Globalization;
public class SamplesComparer {
public static void Main() {
// Creates the strings to compare.
String str1 = "llegar";
String str2 = "lugar";
Console.WriteLine( "Comparing \"{0}\" and \"{1}\" ...", str1, str2 );
// Uses the DefaultInvariant Comparer.
Console.WriteLine( " Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare( str1, str2 ) );
// Uses the Comparer based on the culture "es-ES" (Spanish - Spain, international sort).
Comparer myCompIntl = new Comparer( new CultureInfo( "es-ES", false ) );
Console.WriteLine( " International Sort: {0}", myCompIntl.Compare( str1, str2 ) );
// Uses the Comparer based on the culture identifier 0x040A (Spanish - Spain, traditional sort).
Comparer myCompTrad = new Comparer( new CultureInfo( 0x040A, false ) );
Console.WriteLine( " Traditional Sort : {0}", myCompTrad.Compare( str1, str2 ) );
}
}
/*
This code produces the following output.
Comparing "llegar" and "lugar" ...
Invariant Comparer: -1
International Sort: -1
Traditional Sort : 1
*/
Imports System.Collections
Imports System.Globalization
Public Class SamplesComparer
Public Shared Sub Main()
' Creates the strings to compare.
Dim str1 As [String] = "llegar"
Dim str2 As [String] = "lugar"
Console.WriteLine("Comparing ""{0}"" and ""{1}"" ...", str1, str2)
' Uses the DefaultInvariant Comparer.
Console.WriteLine(" Invariant Comparer: {0}", Comparer.DefaultInvariant.Compare(str1, str2))
' Uses the Comparer based on the culture "es-ES" (Spanish - Spain, international sort).
Dim myCompIntl As New Comparer(New CultureInfo("es-ES", False))
Console.WriteLine(" International Sort: {0}", myCompIntl.Compare(str1, str2))
' Uses the Comparer based on the culture identifier 0x040A (Spanish - Spain, traditional sort).
Dim myCompTrad As New Comparer(New CultureInfo(&H40A, False))
Console.WriteLine(" Traditional Sort : {0}", myCompTrad.Compare(str1, str2))
End Sub
End Class
'This code produces the following output.
'
'Comparing "llegar" and "lugar" ...
' Invariant Comparer: -1
' International Sort: -1
' Traditional Sort : 1
注釈
a
IComparableを実装する場合は、aします。
CompareTo (b) が返されます。それ以外の場合、 b が IComparableを実装する場合は、 bの否定結果になります。
CompareTo (a) が返されます。
nullを任意の型と比較することは許可されており、IComparableを使用する場合は例外は生成されません。 並べ替える場合、 null は他のどのオブジェクトよりも小さいと見なされます。
文字列比較の結果は、カルチャによって異なる場合があります。 カルチャ固有の比較の詳細については、 System.Globalization 名前空間と グローバリゼーションとローカライズに関するページを参照してください。