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 CompareInfo.Compare (String, Int32, Int32, String, Int32, Int32, CompareOptions)

 

Data di pubblicazione: ottobre 2016

Confronta due sezioni di due stringhe usando il valore CompareOptions specificato.

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

public virtual int Compare(
	string string1,
	int offset1,
	int length1,
	string string2,
	int offset2,
	int length2,
	CompareOptions options
)

Parametri

string1
Type: System.String

Prima stringa da confrontare.

offset1
Type: System.Int32

Indice in base zero del carattere in string1 dal quale iniziare il confronto.

length1
Type: System.Int32

Numero di caratteri consecutivi in string1 da confrontare.

string2
Type: System.String

Seconda stringa da confrontare.

offset2
Type: System.Int32

Indice in base zero del carattere in string2 dal quale iniziare il confronto.

length2
Type: System.Int32

Numero di caratteri consecutivi in string2 da confrontare.

options
Type: System.Globalization.CompareOptions

Un valore che definisce come string1 e string2 devono essere confrontati. options è il valore di enumerazione Ordinal, o una combinazione bit per bit di uno o più dei seguenti valori: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth, IgnoreKanaType, e StringSort.

Valore restituito

Type: System.Int32

Intero con segno a 32 bit che indica la relazione lessicale tra i due termini del confronto.

Valore

Condizione

zero

Le due stringhe sono uguali.

minore di zero

La sezione specificata di string1 è minore della sezione specificata di string2.

maggiore di zero

La sezione specificata di string1 è maggiore della sezione specificata di string2.

Exception Condition
ArgumentOutOfRangeException

offset1 o length1 o offset2 o length2 è minore di zero.

-oppure-

offset1 è maggiore o uguale al numero di caratteri in string1.

-oppure-

offset2 è maggiore o uguale al numero di caratteri in string2.

-oppure-

length1 è maggiore del numero di caratteri da offset1 alla fine di string1.

-oppure-

length2 è maggiore del numero di caratteri da offset2 alla fine di string2.

ArgumentException

options contiene un valore non valido CompareOptions valore.

Se una decisione relativa alla sicurezza dipende da un confronto tra stringhe o una modifica di maiuscole, è necessario utilizzare il InvariantCulture proprietà per assicurarsi che il comportamento sia coerenza indipendentemente dalle impostazioni cultura del sistema operativo.

System_CAPS_noteNota

Quando possibile, è necessario chiamare stringa metodi di confronto che dispongono di un parametro di tipo CompareOptions per specificare il tipo di confronto previsto. Come regola generale, utilizzare le opzioni linguistiche (utilizzando le impostazioni cultura correnti) per il confronto tra stringhe visualizzate nell'interfaccia utente e specificare Ordinal o OrdinalIgnoreCase per i confronti di sicurezza.

Note per i chiamanti:

I set di caratteri includono caratteri ignorabili. Il Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) metodo non prende in considerazione questi caratteri quando si esegue un confronto dipendente dalle impostazioni cultura. Per riconoscere i caratteri ignorabili il confronto, specificare un valore di CompareOptions.Ordinal o CompareOptions.OrdinalIgnoreCase per il options parametro.

Nell'esempio seguente vengono confrontate porzioni di due stringhe utilizzando diversi CompareOptions impostazioni.

using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "My Uncle Bill's clients";
      String myStr2 = "My uncle bills clients";

      // Creates a CompareInfo that uses the InvariantCulture.
      CompareInfo myComp = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myComp.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 3, 10 ), myStr2.Substring( 3, 10 ) );
      Console.WriteLine( "   With no CompareOptions            : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10 ) );
      Console.WriteLine( "   With None                         : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.None ) );
      Console.WriteLine( "   With Ordinal                      : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.Ordinal ) );
      Console.WriteLine( "   With StringSort                   : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.StringSort ) );
      Console.WriteLine( "   With IgnoreCase                   : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase ) );
      Console.WriteLine( "   With IgnoreSymbols                : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreSymbols ) );
      Console.WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols ) );

   }

}


/*
This code produces the following output.

Comparing "Uncle Bill" and "uncle bill"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -32
   With StringSort                   : 1
   With IgnoreCase                   : 0
   With IgnoreSymbols                : 1
   With IgnoreCase and IgnoreSymbols : 0

*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
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: