Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración StringComparison

 

Publicado: julio de 2016

Especifica las reglas de referencia cultural, uso de mayúsculas y minúsculas, y ordenación que usarán determinadas sobrecargas de los métodos String.Compare y String.Equals.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

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

Nombre de miembroDescripción
CurrentCulture

Compara cadenas mediante las reglas de ordenación de la referencia cultural y la referencia cultural actual.

CurrentCultureIgnoreCase

Compara cadenas mediante las reglas de ordenación de la referencia cultural y la referencia cultural actual, e ignora el uso de mayúsculas y minúsculas de las cadenas que se comparan.

InvariantCulture

Compara cadenas mediante las reglas de ordenación de la referencia cultural y la referencia invariable.

InvariantCultureIgnoreCase

Compara cadenas mediante las reglas de ordenación de la referencia cultural y la referencia cultural invariable, e ignora el uso de mayúsculas y minúsculas de las cadenas que se comparan.

Ordinal

Compara cadenas mediante las reglas de ordenación ordinal (binaria).

OrdinalIgnoreCase

Compara cadenas mediante las reglas de ordenación ordinal (binaria) e ignora el uso de mayúsculas y minúsculas de las cadenas que se comparan.

El StringComparison enumeración se utiliza para especificar si una comparación de cadenas debe usar la referencia cultural actual o la referencia cultural invariable, palabra o las reglas de ordenación ordinal y ser entre mayúsculas y minúsculas o mayúsculas de minúsculas.

System_CAPS_importantImportante

Cuando se llama a un método de comparación de cadenas como String.Compare, String.Equals, o String.IndexOf, siempre debe llamar a una sobrecarga que incluya un parámetro de tipo StringComparison para que pueda especificar el tipo de comparación que realiza el método. Para obtener más información, consulta Procedimientos recomendados para el uso de cadenas en .NET Framework.

Una operación que utiliza reglas de ordenación de palabras realiza una comparación de cuenta de la referencia cultural en el que algunos caracteres Unicode no alfanuméricos podrían tener asignados de pesos especiales. Usando las reglas de ordenación de palabras y las convenciones de una referencia cultural específica, el guión ("-") podría tener un peso muy pequeño asignado para que las "cadenas coop" y "Co-op" aparecerían juntos en una lista ordenada.

Una operación que utiliza las reglas de ordenación ordinal realiza una comparación basada en el valor numérico (punto de código Unicode) de cada Char en la cadena. Una comparación ordinal es rápida pero la referencia cultural. Cuando usa las reglas de ordenación ordinal para ordenar cadenas que empiezan por caracteres Unicode (U +), la cadena u+XXXX viene antes de la cadena U + aaaa si el valor de xxxx es numéricamente menor que yyyy.

Para obtener más información acerca de las comparaciones, vea la System.String clase comentarios. Para obtener más información acerca de la referencia cultural, consulte la System.Globalization.CultureInfo clase comentarios. Para obtener instrucciones sobre cuándo usar reglas de comparación ordinal o cuenta de la referencia cultural o las reglas de la referencia cultural invariable, vea Procedimientos recomendados para el uso de cadenas en .NET Framework.

En el ejemplo siguiente se comparan cuatro conjuntos de palabras mediante el uso de cada miembro de la StringComparison enumeración. Las comparaciones usan las convenciones del inglés (Estados Unidos) y Sami, referencias culturales Nothern (Suecia). Tenga en cuenta que las cadenas "encyclopædia" y "enciclopedia" se consideran equivalentes en la referencia cultural en-US, pero no en el Sami, referencia cultural septentrional (Suecia).

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: