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)

 

Data di pubblicazione: ottobre 2016

Confronta due sezioni di due stringhe.

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
)

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.

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.

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, utilizzare i metodi di confronto tra stringhe che hanno 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) metodo non prende in considerazione questi caratteri quando viene eseguito un confronto linguistico o dipendente dalle impostazioni cultura. Per riconoscere i caratteri ignorabili il confronto, chiamare il Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) metodo e fornire un valore di CompareOptions.Ordinal o CompareOptions.OrdinalIgnoreCase per il options parametro.

Nell'esempio seguente vengono confrontate porzioni di due stringhe utilizzando le diverse CompareInfo oggetti:

  • CompareInfo oggetto associato alle impostazioni cultura spagnole (Spagna) con ordinamento internazionale

  • CompareInfo oggetto associato alle impostazioni cultura spagnole (Spagna) con ordinamento tradizionale

  • CompareInfo oggetto associato di InvariantCulture

using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "calle";
      String myStr2 = "calor";

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      CompareInfo myCompIntl = CompareInfo.GetCompareInfo( "es-ES" );

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      CompareInfo myCompTrad = CompareInfo.GetCompareInfo( 0x040A );

      // Uses the CompareInfo property of the InvariantCulture.
      CompareInfo myCompInva = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myCompIntl.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 2, 2 ), myStr2.Substring( 2, 2 ) );
      Console.WriteLine( "   With myCompIntl.Compare: {0}", myCompIntl.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompTrad.Compare: {0}", myCompTrad.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompInva.Compare: {0}", myCompInva.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );

   }

}


/*
This code produces the following output.

Comparing "ll" and "lo"
   With myCompIntl.Compare: -1
   With myCompTrad.Compare: 1
   With myCompInva.Compare: -1

*/

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: