Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Enumerazione StringComparison

Specifica le regole relative a ordinamento, lettere minuscole e maiuscole e le impostazioni di cultura che devono essere utilizzate da determinati overload dei metodi String.Compare e String.Equals.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum StringComparison

Nome membroDescrizione
Supportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCurrentCulture Confronta le stringhe utilizzando le regole di ordinamento sensibili alle impostazioni di cultura e le impostazioni di cultura correnti.
Supportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreCurrentCultureIgnoreCase Confronta le stringhe utilizzando le regole di ordinamento sensibili alle impostazioni di cultura, le impostazioni di cultura correnti ed ignorando la differenza tra minuscole e maiuscole nelle stringhe confrontate.
Supportato da XNA FrameworkInvariantCulture Confronta le stringhe utilizzando le regole di ordinamento sensibili alle impostazioni di cultura e le impostazioni di cultura invarianti.
Supportato da XNA FrameworkInvariantCultureIgnoreCase Confronta le stringhe utilizzando le regole di ordinamento sensibili alle impostazioni di cultura, le impostazioni di cultura invarianti ed ignorando la differenza tra minuscole e maiuscole nelle stringhe confrontate.
Supportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreOrdinal Confronta le stringhe utilizzando le regole di ordinamento ordinali.
Supportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreOrdinalIgnoreCase Confronta le stringhe utilizzando le regole di ordinamento ordinali ed ignorando la differenza tra minuscole e maiuscole nelle stringhe confrontate.

L'enumerazione StringComparison viene utilizzata per specificare se in un confronto di stringhe è necessario utilizzare le impostazioni di cultura correnti o le impostazioni di cultura invarianti, le regole di ordinamento per ordinale o per parola e se deve essere fatta distinzione tra minuscole e maiuscole.

Nota importanteImportante

Quando si chiama un metodo di confronto tra stringhe come String.Compare, String.Equals, o String.IndexOf, è sempre necessario chiamare un overload che include un parametro di tipo StringComparison in modo da poter specificare il tipo di confronto che il metodo esegue. Per ulteriori informazioni, vedere Procedure consigliate per l'utilizzo di stringhe in .NET Framework.

In un'operazione in cui vengono utilizzate le regole di ordinamento per parola viene eseguito un confronto basato sulle impostazioni di cultura in cui a determinati caratteri Unicode non alfanumerici potrebbe essere assegnata una specifica rilevanza. Utilizzando le regole di ordinamento per parola e le convenzioni di determinate impostazioni di cultura, il trattino ("-") potrebbe avere una rilevanza minima, così che "coop" e "co-op" possano risultare vicini in un elenco ordinato.

In un'operazione in cui vengono utilizzate regole di ordinamento per ordinale, viene eseguito un confronto basato sul valore numerico (ovvero punto di codice Unicode) di ogni oggetto Char all'interno della stringa. Un confronto ordinale è veloce, ma non tiene conto delle impostazioni di cultura. Quando si utilizzano le regole di ordinamento per ordinare stringhe che iniziano con caratteri Unicode (U+), la stringa U+xxxx precede la stringa U+yyyy se il valore di xxxx è numericamente inferiore di quello di yyyy.

Per ulteriori informazioni sui confronti, vedere le note sulla classe System.String. Per ulteriori informazioni sulle impostazioni di cultura, vedere le note sulla classe System.Globalization.CultureInfo. Per le linee guida relative a quando utilizzare le regole di confronto per ordinale o dipendenti dalle impostazioni di cultura oppure le regole invarianti di cultura, vedere Procedure consigliate per l'utilizzo di stringhe in .NET Framework.

Nell'esempio seguente vengono confrontati quattro set di parole utilizzando ogni membro dell'enumerazione StringComparison. I confronti utilizzano convenzioni delle impostazioni cultura inglese (Stati Uniti) e Sami (Svezia settentrionale). Si noti che le stringhe "encyclopædia" e "enciclopedia" sono considerate equivalenti nelle impostazioni cultura en-US ma non nelle impostazioni cultura sami (nord della Svezia).


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "en-US", "se-SE" };
      String[] strings1 = { "case",  "encyclopædia",  
                            "encyclopædia", "Archæology" };
      String[] strings2 = { "Case", "encyclopaedia", 
                            "encyclopedia" , "ARCHÆOLOGY" };
      StringComparison[] comparisons = (StringComparison[]) Enum.GetValues(typeof(StringComparison));

      foreach (var cultureName in cultureNames) {
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName);
         Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name);
         for (int ctr = 0; ctr <= strings1.GetUpperBound(0); ctr++) {
            foreach (var comparison in comparisons) 
               Console.WriteLine("   {0} = {1} ({2}): {3}", strings1[ctr],
                                 strings2[ctr], comparison, 
                                 String.Equals(strings1[ctr], strings2[ctr], comparison));

            Console.WriteLine();         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Current Culture: en-US
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): True
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
//    
//    
//    Current Culture: se-SE
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): False
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft