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

 

Confronta due oggetti String specificati, usando le opzioni di confronto specificate e le informazioni specifiche delle impostazioni cultura per influenzare il confronto, e restituisce un intero che indica la relazione reciproca tra le due stringhe nell'ordinamento.

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

public static int Compare(
	string strA,
	string strB,
	CultureInfo culture,
	CompareOptions options
)

Parametri

strA
Type: System.String

Prima stringa da confrontare.

strB
Type: System.String

Seconda stringa da confrontare.

culture
Type: System.Globalization.CultureInfo

Impostazioni cultura che forniscono informazioni di confronto specifiche delle impostazioni cultura.

options
Type: System.Globalization.CompareOptions

Opzioni da usare durante l'esecuzione del confronto (ad esempio, per ignorare la distinzione tra maiuscole e minuscole o i simboli).

Valore restituito

Type: System.Int32

Intero con segno a 32 bit che indica la relazione lessicale tra strA e strB, come illustrato nella tabella seguente.

Valore

Condizione

Minore di zero

strA precede strB nell'ordinamento.

Zero

strA si trova nella stessa posizione di strB nell'ordinamento.

Maggiore di zero

strA segue strB nell'ordinamento.

Exception Condition
ArgumentException

options non è un valore di CompareOptions.

ArgumentNullException

culture è null.

Nel confronto viene utilizzato il culture parametro per ottenere informazioni specifiche delle impostazioni cultura, ad esempio le regole di maiuscole e minuscole e l'ordine alfabetico dei singoli caratteri. Ad esempio, una determinata lingua è possibile specificare che alcune combinazioni di caratteri essere gestita come un singolo carattere che i caratteri maiuscoli e minuscoli essere confrontati in modo specifico o che l'ordinamento di un carattere dipende i caratteri che precedono o seguono.

System_CAPS_cautionAttenzione

Il Compare(String, String, CultureInfo, CompareOptions) metodo è progettato principalmente per l'utilizzo nelle operazioni di ordinamento alfabetico di ordinamento. Non deve essere utilizzato quando lo scopo principale della chiamata al metodo consiste nel determinare se due stringhe sono equivalenti (ovvero, quando lo scopo della chiamata al metodo consiste nel verificare la presenza di un valore restituito pari a zero). Per determinare se due stringhe sono equivalenti, chiamare il Equals metodo.

Il confronto può essere ulteriormente specificato mediante il options parametro, che è costituito da uno o più membri del CompareOptions enumerazione. Tuttavia, poiché lo scopo di questo metodo è eseguire un confronto tra stringhe con distinzione delle impostazioni cultura, il CompareOptions.Ordinal e CompareOptions.OrdinalIgnoreCase valori non hanno alcun effetto.

Uno o entrambi i termini di confronto possono essere null. Per definizione, qualsiasi stringa, inclusi String.Empty, risulta maggiore di un riferimento null e due riferimenti null risultano uguali tra loro.

Il confronto termina quando viene rilevata una disuguaglianza o entrambe le stringhe sono state confrontate. Tuttavia, se le due stringhe risultano uguali alla fine di una stringa e l'altra stringa contiene caratteri rimanenti, la stringa con i caratteri rimanenti è considerata maggiore.

Note per i chiamanti:

I set di caratteri includono caratteri ignorabili, ovvero caratteri che non sono considerati durante l'esecuzione di un confronto linguistico o dipendente dalle impostazioni cultura. IlCompare(String, String, CultureInfo, CompareOptions) metodo non prende in considerazione tali caratteri quando si esegue un confronto con distinzione delle 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 due stringhe in tre modi diversi: utilizzando il confronto linguistico per le impostazioni cultura en-US; tramite il confronto tra maiuscole e minuscole linguistico per le impostazioni cultura en-US; e l'utilizzo di un confronto ordinale. Viene illustrato come i tre metodi di confronto producano tre risultati diversi.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string string1 = "brother";
      string string2 = "Brother";
      string relation;
      int result;

      // Cultural (linguistic) comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.None);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);

      // Cultural (linguistic) case-insensitive comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.IgnoreCase);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);

       // Culture-insensitive ordinal comparison.
      result = String.CompareOrdinal(string1, string2);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      Console.WriteLine("'{0}' {1} '{2}'.", 
                        string1, relation, string2);
   }
}
// The example produces the following output:
//    'brother' comes before 'Brother'.   
//    'brother' is the same as 'Brother'.
//    'brother' comes after 'Brother'.

.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
Torna all'inizio
Mostra: