Clase System.StringComparer

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

Un objeto derivado de la StringComparer clase incorpora operaciones de comparación, igualdad y código hash basadas en cadenas que tienen en cuenta las reglas de comparación específicas de mayúsculas y minúsculas y de referencia cultural. Puede usar la StringComparer clase para crear una comparación específica del tipo para ordenar los elementos de una colección genérica. Las clases como Hashtable, Dictionary<TKey,TValue>, SortedListy SortedList<TKey,TValue> usan la StringComparer clase para fines de ordenación.

Se define una operación de comparación representada por la StringComparer clase para que no distingue mayúsculas de minúsculas o que no distingue mayúsculas de minúsculas y use reglas de comparación ordinales (que no distinguen referencias culturales) o palabras (que no distinguen referencias culturales). Para obtener más información sobre las reglas de comparación ordinal y de palabras, vea System.Globalization.CompareOptions.

Nota:

Puede descargar la tabla predeterminada de elementos de intercalación Unicode, la versión más reciente de la tabla de ponderación de ordenación. La versión específica de la tabla de ponderación de ordenación depende de la versión de las bibliotecas de Componentes internacionales para Unicode instaladas en el sistema. Para más información sobre las versiones de los componentes internacionales de Unicode y las versiones de Unicode que implementan, vea la información sobre la descarga de componentes internacionales de Unicode.

Para .NET Framework en Windows, puede descargar las tablas de ponderación de ordenación, un conjunto de archivos de texto que contienen información sobre los pesos de caracteres usados en las operaciones de ordenación y comparación.

Propiedades implementadas

Es posible que se confunda sobre cómo usar las propiedades de clase StringComparer debido a una aparente contradicción. La StringComparer clase se declara abstract (MustInherit en Visual Basic), lo que significa que sus miembros solo se pueden invocar en un objeto de una clase derivada de la StringComparer clase . La contradicción es que cada propiedad de la StringComparer clase se declara static (Shared en Visual Basic), lo que significa que la propiedad se puede invocar sin crear primero una clase derivada.

Puede llamar a una StringComparer propiedad directamente porque cada propiedad devuelve realmente una instancia de una clase anónima derivada de la StringComparer clase . Por consiguiente, el tipo de cada valor de propiedad es StringComparer, que es la clase base de la clase anónima, no el tipo de la propia clase anónima. Cada StringComparer propiedad de clase devuelve un StringComparer objeto que admite reglas de comparación y mayúsculas y minúsculas predefinidas.