Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Comparer<T>.IComparer.Compare (Object, Object)

 

Data di pubblicazione: ottobre 2016

Confronta due oggetti e restituisce un valore che indica se uno è minore, uguale o maggiore di altro.

Spazio dei nomi:   System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

int IComparer.Compare(
	object x,
	object y
)

Parametri

x
Type: System.Object

Primo oggetto da confrontare.

y
Type: System.Object

Secondo oggetto da confrontare.

Valore restituito

Type: System.Int32

Intero con segno che indica i valori relativi di x e y, come illustrato nella tabella seguente.

Valore

Significato

Minore di zero

x è minore di y.

Zero

x è uguale a y.

Maggiore di zero

x è maggiore di y.

Exception Condition
ArgumentException

x o y di un tipo che non può essere impostata sul tipo T.

-oppure-

x e y non implementano il System.IComparable<T> interfaccia generica o System.IComparable interfaccia.

Questo metodo è un wrapper per il Compare(T, T) (metodo), quindi obj necessario eseguire il cast al tipo specificato dall'argomento generico T dell'istanza corrente. Se non è possibile eseguire il cast a T, un ArgumentException viene generata un'eccezione.

Confronto tra null con qualsiasi riferimento di tipo è consentito e non genera un'eccezione. Durante l'ordinamento, null viene considerato minore rispetto a qualsiasi altro oggetto.

Note per i chiamanti:

Compare e EqualityComparer<T>.Equals si comportano in modo diverso in termini di sensibilità alla lingua e distinzione maiuscole/minuscole.

Per i confronti di stringhe, la StringComparer classe, è preferibile Comparer<String>. Proprietà della StringComparer classe restituiscono istanze predefinite che eseguono confronti di stringhe con diverse combinazioni di sensibilità alla lingua e distinzione maiuscole/minuscole. La distinzione maiuscole/minuscole e distinzione di impostazioni cultura sono coerenti tra i membri dello stesso StringComparer istanza.

Per ulteriori informazioni sui confronti di impostazioni cultura specifiche, vedere il System.Globalization dello spazio dei nomi e Globalizzazione e localizzazione di applicazioni .NET Framework.

Nell'esempio seguente viene illustrato come utilizzare il IComparer.Compare metodo per confrontare due oggetti. In questo esempio fa parte di un esempio più esaustivo fornito per la Comparer<T> classe.


// This explicit interface implementation
// compares first by the length.
// Returns -1 because the length of BoxA
// is less than the length of BoxB.
BoxLengthFirst LengthFirst = new BoxLengthFirst(); 

Comparer<Box> bc = (Comparer<Box>) LengthFirst;

Box BoxA = new Box(2, 6, 8);
Box BoxB = new Box(10, 12, 14);
int x = LengthFirst.Compare(BoxA, BoxB);
Console.WriteLine();
Console.WriteLine(x.ToString());

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: