VENTAS: 1-800-867-1389
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

String (Clase)

Representa texto como una serie de caracteres Unicode.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable, 
	ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, 
	IEnumerable, IEquatable<string>

El tipo String expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsString(Char*)Inicializa una nueva instancia de la clase String con el valor indicado por un puntero especificado que apunta a una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsString(Char[]) Inicializa una nueva instancia de la clase String con el valor indicado por una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkString(SByte*)Inicializa una nueva instancia de la clase String con el valor indicado por un puntero a una matriz de enteros de 8 bits con signo.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsString(Char, Int32)Inicializa una nueva instancia de la clase String con el valor indicado por un carácter Unicode especificado que se repite un número de veces determinado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsString(Char*, Int32, Int32)Inicializa una nueva instancia de la clase String con el valor indicado por un puntero especificado que apunta a una matriz de caracteres Unicode, una posición de carácter inicial dentro de dicha matriz y una longitud.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsString(Char[], Int32, Int32)Inicializa una nueva instancia de la clase String con el valor indicado por una matriz de caracteres Unicode, una posición de carácter inicial dentro de dicha matriz y una longitud.
Método públicoString(SByte*, Int32, Int32)Inicializa una nueva instancia de la clase String con el valor indicado por un puntero a una matriz de enteros de 8 bits con signo especificado, una posición inicial dentro de dicha matriz y una longitud.
Método públicoString(SByte*, Int32, Int32, Encoding)Inicializa una nueva instancia de la clase String con el valor indicado por un puntero especificado que apunta a una matriz de enteros de 8 bits con signo, una posición inicial dentro de dicha matriz, una longitud y un objeto Encoding.
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCharsObtiene el objeto Char situado en una posición específica en el objeto String actual.
Propiedad públicaCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLengthObtiene el número de caracteres del objeto String actual.
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkCloneDevuelve una referencia a la instancia de String.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompare(String, String)Compara dos objetos String especificados y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompare(String, String, Boolean)Compara dos objetos String especificados, pasando por alto o teniendo en cuenta el uso de mayúsculas y minúsculas, y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompare(String, String, StringComparison)Compara dos objetos String especificados usando las reglas especificadas y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompare(String, String, Boolean, CultureInfo)Compara dos objetos String especificados, pasando por alto o teniendo en cuenta el uso de mayúsculas y minúsculas, utiliza información específica de la referencia cultural para influir en la comparación y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompare(String, String, CultureInfo, CompareOptions)Compara dos objetos String especificados utilizando las opciones de comparación especificadas e información específica de la referencia cultural para influir en la comparación y devuelve un entero que indica la relación mutua de las dos cadenas en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompare(String, Int32, String, Int32, Int32)Compara las subcadenas de dos objetos String especificados y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompare(String, Int32, String, Int32, Int32, Boolean)Compara las subcadenas de dos objetos String especificados, pasando por alto o teniendo en cuenta el uso de mayúsculas y minúsculas, y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompare(String, Int32, String, Int32, Int32, StringComparison)Compara las subcadenas de dos objetos String especificados usando las reglas especificadas y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)Compara las subcadenas de dos objetos String especificados, pasando por alto o teniendo en cuenta el uso de mayúsculas y minúsculas, utiliza información específica de la referencia cultural para influir en la comparación y devuelve un entero que indica su posición relativa en el criterio de ordenación.
Método públicoMiembro estáticoCompare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)Compara las subcadenas de dos objetos String especificados utilizando las opciones de comparación especificadas e información específica de la referencia cultural para influir en la comparación y devuelve un entero que indica la relación mutua de las dos subcadenas en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareOrdinal(String, String)Compara dos objetos String especificados mediante la evaluación de los valores numéricos de los objetos Char correspondientes de cada cadena.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareOrdinal(String, Int32, String, Int32, Int32)Compara las subcadenas de dos objetos String especificados mediante la evaluación de los valores numéricos de los correspondientes objetos Char en cada subcadena.
Método públicoCompatible con XNA FrameworkCompareTo(Object)Compara esta instancia con un Object especificado e indica si la posición de esta instancia es anterior, posterior o igual que la posición del Object especificado en el criterio de ordenación.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareTo(String)Compara esta instancia con un objeto String especificado e indica si la posición de esta instancia es anterior, posterior o igual que la posición del objeto String especificado en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(Object)Crea la representación de cadena de un objeto especificado.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(Object[])Concatena las representaciones de cadena de los elementos de una matriz Object especificada.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(IEnumerable<String>)Concatena los miembros de una colección IEnumerable<T> construida de tipo String.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(String[])Concatena los elementos en una matriz String especificada.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(Object, Object)Concatena las representaciones de cadena de dos objetos especificados.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(String, String)Concatena dos instancias de String especificadas.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(Object, Object, Object)Concatena las representaciones de cadena de tres objetos especificados.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(String, String, String)Concatena tres instancias especificadas de String.
Método públicoMiembro estáticoConcat(Object, Object, Object, Object)Concatena las representaciones de cadena de cuatro objetos especificados y cualquier otro objeto especificado en una lista opcional de parámetros de longitud variable.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat(String, String, String, String)Concatena cuatro instancias especificadas de String.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsConcat<T>(IEnumerable<T>)Concatena los miembros de una implementación de IEnumerable<T>.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsContainsDevuelve un valor que indica si una subcadena especificada aparece dentro de esta cadena.
Método públicoMiembro estáticoCompatible con XNA FrameworkCopyCrea una nueva instancia de String con el mismo valor que una String especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCopyToCopia un número especificado de caracteres situados en una posición especificada de la instancia en una posición determinada de una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEndsWith(String)Determina si el final de esta instancia de cadena coincide con la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEndsWith(String, StringComparison)Determina si el final de esta instancia de cadena coincide con la cadena especificada cuando se comparan utilizando la opción de comparación especificada.
Método públicoEndsWith(String, Boolean, CultureInfo)Determina si el final de esta instancia de cadena coincide con la cadena especificada cuando se comparan utilizando la referencia cultural especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Determina si esta instancia y un objeto especificado, que también debe ser un objeto String, tienen el mismo valor. (Invalida a Object.Equals(Object)).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(String)Determina si esta instancia y otro objeto String especificado tienen el mismo valor.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(String, String)Determina si dos objetos String especificados tienen el mismo valor.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(String, StringComparison)Determina si esta cadena y un objeto String especificado tienen el mismo valor. Un parámetro especifica la referencia cultural, el uso de mayúsculas y minúsculas, así como las reglas de ordenación utilizadas en la comparación.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(String, String, StringComparison)Determina si dos objetos String especificados tienen el mismo valor. Un parámetro especifica la referencia cultural, el uso de mayúsculas y minúsculas, así como las reglas de ordenación utilizadas en la comparación.
Método públicoMiembro estáticoCompatible con XNA FrameworkFormat(String, Object)Reemplaza uno o varios elementos de formato de una cadena especificada con la representación de cadena de un objeto especificado.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFormat(String, Object[])Reemplaza el elemento de formato de una cadena especificada por la representación de cadena de un objeto correspondiente de una matriz especificada.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsFormat(IFormatProvider, String, Object[])Reemplaza los elementos de formato de una cadena especificada por representaciones de cadena de los objetos correspondientes en una matriz especificada. Un parámetro proporciona información de formato específica de la referencia cultural.
Método públicoMiembro estáticoCompatible con XNA FrameworkFormat(String, Object, Object)Reemplaza los elementos de formato en una cadena especificada por la representación de cadena de dos objetos especificados.
Método públicoMiembro estáticoCompatible con XNA FrameworkFormat(String, Object, Object, Object)Reemplaza los elementos de formato de una cadena especificada por la representación de cadena de tres objetos especificados.
Método públicoCompatible con XNA FrameworkGetEnumeratorRecupera un objeto que puede recorrer en iteración los caracteres individuales de esta cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCodeDevuelve el código hash para esta cadena. (Invalida a Object.GetHashCode()).
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetTypeCodeDevuelve TypeCode para la clase String.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(Char)Devuelve el índice de base cero de la primera aparición del carácter Unicode especificado en esta cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String)Indica el índice de base cero de la primera aparición de la cadena especificada en la instancia en cuestión.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(Char, Int32)Devuelve el índice de base cero de la primera aparición del carácter Unicode especificado en esta cadena. La búsqueda comienza en una posición de carácter especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String, Int32)Indica el índice de base cero de la primera aparición de la cadena especificada en la instancia en cuestión. La búsqueda comienza en una posición de carácter especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String, StringComparison)Devuelve el índice de base cero de la primera aparición de la cadena especificada en el objeto String actual. Un parámetro especifica el tipo de búsqueda que se va a utilizar para la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(Char, Int32, Int32)Devuelve el índice de base en cero de la primera aparición del carácter especificado en la instancia en cuestión. La búsqueda comienza en una posición de carácter especificada y examina un número especificado de posiciones de caracteres.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String, Int32, Int32)Indica el índice de base cero de la primera aparición de la cadena especificada en la instancia en cuestión. La búsqueda comienza en una posición de carácter especificada y examina un número especificado de posiciones de caracteres.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String, Int32, StringComparison)Devuelve el índice de base cero de la primera aparición de la cadena especificada en el objeto String actual. Los parámetros indican la posición inicial de búsqueda en la cadena actual y el tipo de búsqueda que se utiliza para la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOf(String, Int32, Int32, StringComparison)Devuelve el índice de base cero de la primera aparición de la cadena especificada en el objeto String actual. Los parámetros indican la posición inicial de búsqueda en la cadena actual, el número de caracteres de la cadena actual en los que buscar y el tipo de búsqueda que se va a utilizar para la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOfAny(Char[])Devuelve el índice de base cero de la primera aparición en la instancia de un carácter de una matriz de caracteres Unicode especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOfAny(Char[], Int32)Devuelve el índice de base cero de la primera aparición en la instancia de un carácter de una matriz de caracteres Unicode especificada. La búsqueda comienza en una posición de carácter especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIndexOfAny(Char[], Int32, Int32)Devuelve el índice de base cero de la primera aparición en la instancia de un carácter de una matriz de caracteres Unicode especificada. La búsqueda comienza en una posición de carácter especificada y examina un número especificado de posiciones de caracteres.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInsertDevuelve una nueva cadena en la que se inserta una cadena especificada en una posición de índice concreta en esta instancia.
Método públicoMiembro estáticoCompatible con XNA FrameworkInternRecupera la referencia del sistema al objeto String especificado.
Método públicoMiembro estáticoCompatible con XNA FrameworkIsInternedRecupera una referencia a un objeto String especificado.
Método públicoIsNormalized()Indica si esta cadena tiene la forma de normalización Unicode C.
Método públicoIsNormalized(NormalizationForm)Indica si esta cadena tiene la forma de normalización Unicode especificada.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsNullOrEmptyIndica si el valor de la cadena especificada es null o una cadena de Empty.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsNullOrWhiteSpaceIndica si la cadena especificada es null, está vacía o consta únicamente de caracteres de espacio en blanco.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsJoin(String, IEnumerable<String>)Concatena los miembros de una colección IEnumerable<T> construida de tipo String, utilizando el separador especificado entre todos los miembros.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsJoin(String, Object[])Concatena los elementos de una matriz de objetos, utilizando el separador especificado entre todos los elementos.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsJoin(String, String[])Concatena todos los elementos de una matriz de cadenas, utilizando el separador especificado entre todos los elementos.
Método públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsJoin(String, String[], Int32, Int32)Concatena los elementos especificados de una matriz de cadenas, utilizando el separador indicado entre todos los elementos.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsJoin<T>(String, IEnumerable<T>)Concatena los miembros de una colección, utilizando el separador especificado entre todos los miembros.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(Char)Devuelve la posición de índice de base cero de la última aparición de un carácter Unicode especificado en la instancia.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String)Indica la posición de índice de base cero de la última aparición de una cadena especificada en la instancia en cuestión.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(Char, Int32)Devuelve la posición de índice de base cero de la última aparición de un carácter Unicode especificado en la instancia. La búsqueda se inicia en una posición de carácter especificada y continúa hacia atrás hacia el principio de la cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String, Int32)Indica la posición de índice de base cero de la última aparición de una cadena especificada en la instancia en cuestión. La búsqueda se inicia en una posición de carácter especificada y continúa hacia atrás hacia el principio de la cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String, StringComparison)Devuelve el índice de base cero de la última aparición de una cadena especificada dentro del objeto String actual. Un parámetro especifica el tipo de búsqueda que se va a utilizar para la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(Char, Int32, Int32)Devuelve la posición de índice de base cero de la última aparición del carácter Unicode especificado en una subcadena de la instancia. La búsqueda se inicia en una posición de caracteres especificada y continúa hacia atrás hacia el principio de la cadena durante un número especificado de posiciones de caracteres.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String, Int32, Int32)Indica la posición de índice de base cero de la última aparición de una cadena especificada en la instancia en cuestión. La búsqueda se inicia en una posición de caracteres especificada y continúa hacia atrás hacia el principio de la cadena durante un número especificado de posiciones de caracteres.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String, Int32, StringComparison)Devuelve el índice de base cero de la última aparición de una cadena especificada dentro del objeto String actual. La búsqueda se inicia en una posición de carácter especificada y continúa hacia atrás hacia el principio de la cadena. Un parámetro especifica el tipo de comparación que se debe realizar cuando se busca la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOf(String, Int32, Int32, StringComparison)Indica la posición de índice de base cero de la última aparición de una cadena especificada en la instancia en cuestión. La búsqueda se inicia en una posición de caracteres especificada y continúa hacia atrás hacia el principio de la cadena durante el número especificado de posiciones de caracteres. Un parámetro especifica el tipo de comparación que se debe realizar cuando se busca la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOfAny(Char[])Devuelve la posición de índice de base cero de la última aparición en la instancia de uno o varios caracteres especificados de una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOfAny(Char[], Int32)Devuelve la posición de índice de base cero de la última aparición en la instancia de uno o varios caracteres especificados de una matriz de caracteres Unicode. La búsqueda se inicia en una posición de carácter especificada y continúa hacia atrás hacia el principio de la cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLastIndexOfAny(Char[], Int32, Int32)Devuelve la posición de índice de base cero de la última aparición en la instancia de uno o varios caracteres especificados de una matriz de caracteres Unicode. La búsqueda se inicia en una posición de caracteres especificada y continúa hacia atrás hacia el principio de la cadena durante un número especificado de posiciones de caracteres.
Método públicoNormalize()Devuelve una nueva cadena cuyo valor textual es igual que esta cadena, pero cuya representación binaria tiene la forma de normalización Unicode C.
Método públicoNormalize(NormalizationForm)Devuelve una nueva cadena cuyo valor textual es igual que esta cadena, pero cuya representación binaria tiene la forma de normalización Unicode especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPadLeft(Int32)Devuelve una nueva cadena que alinea a la derecha los caracteres de la instancia e inserta espacios en blanco a la izquierda hasta alcanzar la longitud total especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPadLeft(Int32, Char)Devuelve una nueva cadena que alinea a la derecha los caracteres de la instancia e inserta a la izquierda un carácter Unicode especificado hasta alcanzar la longitud total especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPadRight(Int32)Devuelve una nueva cadena que alinea a la izquierda los caracteres de la cadena e inserta espacios en blanco a la derecha hasta alcanzar la longitud total especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPadRight(Int32, Char)Devuelve una nueva cadena que alinea a la izquierda los caracteres de la cadena e inserta a la derecha un carácter Unicode especificado hasta alcanzar la longitud total especificada.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsRemove(Int32)Devuelve una nueva cadena en la que se han eliminado todos los caracteres de la instancia actual, a partir de una posición especificada y hasta la última posición.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsRemove(Int32, Int32)Devuelve una nueva cadena en la que se ha eliminado un número de caracteres especificado en la instancia actual a partir de una posición especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReplace(Char, Char)Devuelve una nueva cadena en la que todas las apariciones de un carácter Unicode especificado de esta instancia se reemplazan por otro carácter Unicode especificado.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsReplace(String, String)Devuelve una nueva cadena en la que todas las apariciones de una cadena especificada en la instancia actual se reemplazan por otra cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(Char[])Devuelve una matriz de cadenas que contiene las subcadenas de esta instancia que están delimitadas por elementos de la matriz de caracteres Unicode especificada.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(Char[], Int32)Devuelve una matriz de cadenas que contiene las subcadenas de esta instancia que están delimitadas por elementos de la matriz de caracteres Unicode especificada. Un parámetro especifica el número máximo de subcadenas que se van a devolver.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(Char[], StringSplitOptions)Devuelve una matriz de cadenas que contiene las subcadenas de esta cadena que están delimitadas por elementos de la matriz de caracteres Unicode especificada. Un parámetro especifica si se van a devolver elementos de matriz vacíos.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(String[], StringSplitOptions)Devuelve una matriz de cadenas que contiene las subcadenas de esta cadena que están delimitadas por elementos de la matriz de cadenas especificada. Un parámetro especifica si se van a devolver elementos de matriz vacíos.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(Char[], Int32, StringSplitOptions)Devuelve una matriz de cadenas que contiene las subcadenas de esta cadena que están delimitadas por elementos de la matriz de caracteres Unicode especificada. Los parámetros especifican el número máximo de subcadenas que se van a devolver y si se van a devolver elementos de matriz vacíos.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSplit(String[], Int32, StringSplitOptions)Devuelve una matriz de cadenas que contiene las subcadenas de esta cadena que están delimitadas por elementos de la matriz de cadenas especificada. Los parámetros especifican el número máximo de subcadenas que se van a devolver y si se van a devolver elementos de matriz vacíos.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsStartsWith(String)Determina si el principio de esta instancia de cadena coincide con la cadena especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsStartsWith(String, StringComparison)Determina si el principio de esta instancia de cadena coincide con la cadena especificada cuando se comparan utilizando la opción de comparación especificada.
Método públicoStartsWith(String, Boolean, CultureInfo)Determina si el principio de esta instancia de cadena coincide con la cadena especificada cuando se comparan utilizando la referencia cultural especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubstring(Int32)Recupera una subcadena de la instancia. La subcadena empieza en una posición de caracteres especificada y continúa hasta el final de la cadena.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubstring(Int32, Int32)Recupera una subcadena de la instancia. La subcadena comienza en una posición de carácter especificada y tiene una longitud especificada.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToCharArray()Copia los caracteres de la instancia en una matriz de caracteres Unicode.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToCharArray(Int32, Int32)Copia los caracteres de una subcadena especificada de la instancia en una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToLower()Devuelve una copia de esta cadena convertida en minúsculas.
Método públicoCompatible con XNA FrameworkToLower(CultureInfo)Devuelve una copia de esta cadena convertida en minúsculas, aplicando las reglas de mayúsculas y minúsculas de la referencia cultural especificada.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToLowerInvariantDevuelve una copia de este objeto String convertido en minúsculas, aplicando las reglas de mayúsculas y minúsculas de la referencia cultural de todos los idiomas.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString()Devuelve la instancia de String; no se efectúa una conversión real. (Invalida a Object.ToString()).
Método públicoCompatible con XNA FrameworkToString(IFormatProvider)Devuelve la instancia de String; no se efectúa una conversión real.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToUpper()Devuelve una copia de esta cadena convertida en mayúsculas.
Método públicoCompatible con XNA FrameworkToUpper(CultureInfo)Devuelve una copia de esta cadena convertida en mayúsculas, aplicando las reglas de mayúsculas y minúsculas de la referencia cultural especificada.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToUpperInvariantDevuelve una copia de este objeto String convertido en mayúsculas, aplicando las reglas de mayúsculas y minúsculas de la referencia cultural de todos los idiomas.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTrim()Quita todos los caracteres de espacio en blanco del principio y el final del objeto String actual.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTrim(Char[])Quita todas las apariciones del principio y el final de un conjunto de caracteres especificados en una matriz del objeto String actual.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTrimEndQuita todas las apariciones del final de un conjunto de caracteres especificados en una matriz del objeto String actual.
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsTrimStart Quita todas las apariciones del principio de un conjunto de caracteres especificados en una matriz del objeto String actual.
Arriba

  NombreDescripción
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEqualityDetermina si dos cadenas especificadas tienen el mismo valor.
Operador públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequalityDetermina si dos cadenas especificadas tienen valores diferentes.
Arriba

  NombreDescripción
Método de extensión públicoCompatible con XNA FrameworkAggregate<Char>(Func<Char, Char, Char>)Sobrecargado. Aplica una función de acumulador a una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAggregate<Char, TAccumulate>(TAccumulate, Func<TAccumulate, Char, TAccumulate>)Sobrecargado. Aplica una función de acumulador a una secuencia. El valor de inicialización especificado se utiliza como valor de inicio del acumulador. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAggregate<Char, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, Char, TAccumulate>, Func<TAccumulate, TResult>)Sobrecargado. Aplica una función de acumulador a una secuencia. El valor de inicialización especificado se utiliza como valor inicial del acumulador y la función especificada se utiliza para seleccionar el valor resultante. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAll<Char>Determina si todos los elementos de una secuencia satisfacen una condición. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAny<Char>()Sobrecargado. Determina si una secuencia contiene elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAny<Char>(Func<Char, Boolean>)Sobrecargado. Determina si algún elemento de una secuencia satisface una condición. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAsEnumerable<Char>Devuelve la entrada tipificada como IEnumerable<T>. (Definido por Enumerable).
Método de extensión públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAsParallel()Sobrecargado. Habilita la paralelización de una consulta. (Definido por ParallelEnumerable).
Método de extensión públicoAsParallel<Char>()Sobrecargado. Habilita la paralelización de una consulta. (Definido por ParallelEnumerable).
Método de extensión públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAsQueryable()Sobrecargado. Convierte una interfaz IEnumerable en IQueryable. (Definido por Queryable).
Método de extensión públicoAsQueryable<Char>()Sobrecargado. Convierte una interfaz IEnumerable<T> genérica en una interfaz IQueryable<T> genérica. (Definido por Queryable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Int32>)Sobrecargado. Calcula el promedio de una secuencia de valores Int32 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Nullable<Int32>>)Sobrecargado. Calcula el promedio de una secuencia de valores Int32 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Int64>)Sobrecargado. Calcula el promedio de una secuencia de valores Int64 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Nullable<Int64>>)Sobrecargado. Calcula el promedio de una secuencia de valores Int64 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Single>)Sobrecargado. Calcula el promedio de una secuencia de valores Single que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Nullable<Single>>)Sobrecargado. Calcula el promedio de una secuencia de valores Single que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Double>)Sobrecargado. Calcula el promedio de una secuencia de valores Double que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Nullable<Double>>)Sobrecargado. Calcula el promedio de una secuencia de valores Double que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Decimal>)Sobrecargado. Calcula el promedio de una secuencia de valores Decimal que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkAverage<Char>(Func<Char, Nullable<Decimal>>)Sobrecargado. Calcula el promedio de una secuencia de valores Decimal que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCast<TResult>Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkConcat<Char>Concatena dos secuencias. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkContains<Char>(Char)Sobrecargado. Determina si una secuencia contiene un elemento especificado utilizando el comparador de igualdad predeterminado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkContains<Char>(Char, IEqualityComparer<Char>)Sobrecargado. Determina si una secuencia contiene un elemento especificado utilizando un objeto IEqualityComparer<T> determinado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkCount<Char>()Sobrecargado. Devuelve el número de elementos de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkCount<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve un número que representa cuántos elementos de la secuencia especificada satisfacen una condición. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkDefaultIfEmpty<Char>()Sobrecargado. Devuelve los elementos de la secuencia especificada o el valor predeterminado del parámetro de tipo en una colección singleton si la secuencia está vacía. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkDefaultIfEmpty<Char>(Char)Sobrecargado. Devuelve los elementos de la secuencia especificada o el valor especificado en una colección singleton si la secuencia está vacía. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkDistinct<Char>()Sobrecargado. Devuelve diversos elementos de una secuencia utilizando el comparador de igualdad predeterminado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkDistinct<Char>(IEqualityComparer<Char>)Sobrecargado. Devuelve diversos elementos de una secuencia utilizando un objeto IEqualityComparer<T> especificado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkElementAt<Char>Devuelve el elemento situado en un índice especificado de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkElementAtOrDefault<Char>Devuelve el elemento situado en un índice especificado de una secuencia o un valor predeterminado si el índice está fuera del intervalo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkExcept<Char>(IEnumerable<Char>)Sobrecargado. Proporciona la diferencia de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkExcept<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Sobrecargado. Proporciona la diferencia de conjuntos de dos secuencias utilizando el objeto IEqualityComparer<T> especificado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkFirst<Char>()Sobrecargado. Devuelve el primer elemento de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkFirst<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el primer elemento de una secuencia que satisface una condición especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkFirstOrDefault<Char>()Sobrecargado. Devuelve el primer elemento de una secuencia o un valor predeterminado si la secuencia no contiene elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkFirstOrDefault<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el primer elemento de la secuencia que satisface una condición o un valor predeterminado si no se encuentra dicho elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey>(Func<Char, TKey>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de calves especificada y compara las claves utilizando un comparador especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada y proyecta los elementos de cada grupo utilizando una función determinada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada y crea un valor de resultado a partir de cada grupo y su clave. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Sobrecargado. Agrupa los elementos de una secuencia conforme a una función del selector de claves. Las claves se comparan utilizando un comparador y los elementos de cada grupo se proyectan utilizando una función especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>, IEqualityComparer<TKey>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada y crea un valor de resultado a partir de cada grupo y su clave. Las claves se comparan utilizando un comparador especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada y crea un valor de resultado a partir de cada grupo y su clave. Los elementos de cada grupo se proyectan utilizando una función determinada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)Sobrecargado. Agrupa los elementos de una secuencia según una función del selector de claves especificada y crea un valor de resultado a partir de cada grupo y su clave. Los valores de las claves se comparan utilizando un comparador especificado y los elementos de cada grupo se proyectan utilizando una función especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>)Sobrecargado. Establece una correlación entre los elementos de dos secuencias en función de la igualdad de sus claves y agrupa los resultados. El comparador de igualdad predeterminado se usa para comparar claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)Sobrecargado. Establece una correlación entre los elementos de dos secuencias basándose en la igualdad de clave y agrupa los resultados. Se usa un objeto IEqualityComparer<T> especificado para comparar claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkIntersect<Char>(IEnumerable<Char>)Sobrecargado. Proporciona la intersección de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkIntersect<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Sobrecargado. Proporciona la intersección de conjuntos de dos secuencias utilizando el objeto IEqualityComparer<T> especificado para comparar los valores. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>)Sobrecargado. Establece la correlación de dos secuencias basándose en claves coincidentes. El comparador de igualdad predeterminado se usa para comparar claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>, IEqualityComparer<TKey>)Sobrecargado. Establece la correlación de dos secuencias basándose en claves coincidentes. Se usa un objeto IEqualityComparer<T> especificado para comparar claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLast<Char>()Sobrecargado. Devuelve el último elemento de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLast<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el último elemento de una secuencia que satisface una condición especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLastOrDefault<Char>()Sobrecargado. Devuelve el último elemento de una secuencia o un valor predeterminado si la secuencia no contiene elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLastOrDefault<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el último elemento de una secuencia que satisface una condición o un valor predeterminado si no se encuentra dicho elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLongCount<Char>()Sobrecargado. Devuelve un valor Int64 que representa el número total de elementos de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkLongCount<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve un valor Int64 que representa el número de elementos de una secuencia que satisfacen una condición. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>()Sobrecargado. Devuelve el valor máximo de una secuencia genérica. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Int32>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Nullable<Int32>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 máximo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Int64>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Nullable<Int64>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 máximo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Single>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Nullable<Single>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single máximo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Double>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Nullable<Double>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double máximo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Decimal>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char>(Func<Char, Nullable<Decimal>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal máximo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMax<Char, TResult>(Func<Char, TResult>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia genérica y devuelve el valor máximo resultante. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>()Sobrecargado. Devuelve el valor mínimo de una secuencia genérica. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Int32>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 mínimo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Nullable<Int32>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int32 mínimo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Int64>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 mínimo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Nullable<Int64>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Int64 mínimo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Single>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single mínimo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Nullable<Single>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Single mínimo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Double>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double mínimo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Nullable<Double>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Double mínimo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Decimal>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal mínimo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char>(Func<Char, Nullable<Decimal>>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia y devuelve el valor Decimal mínimo que acepta valores NULL. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkMin<Char, TResult>(Func<Char, TResult>)Sobrecargado. Invoca una función de transformación en cada elemento de una secuencia genérica y devuelve el valor mínimo resultante. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsOfType<TResult>Filtra los elementos de IEnumerable en función de un tipo especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkOrderBy<Char, TKey>(Func<Char, TKey>)Sobrecargado. Ordena de manera ascendente los elementos de una secuencia en función de una clave. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkOrderBy<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)Sobrecargado. Ordena de manera ascendente los elementos de una secuencia utilizando un comparador especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkOrderByDescending<Char, TKey>(Func<Char, TKey>)Sobrecargado. Ordena de manera descendente los elementos de una secuencia en función de una clave. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkOrderByDescending<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)Sobrecargado. Ordena de manera descendente los elementos de una secuencia utilizando un comparador especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkReverse<Char>Invierte el orden de los elementos de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelect<Char, TResult>(Func<Char, TResult>)Sobrecargado. Proyecta cada elemento de una secuencia en un nuevo formulario. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelect<Char, TResult>(Func<Char, Int32, TResult>)Sobrecargado. Proyecta cada elemento de una secuencia en un nuevo formulario incorporando el índice del elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelectMany<Char, TResult>(Func<Char, IEnumerable<TResult>>)Sobrecargado. Proyecta cada elemento de una secuencia en una interfaz IEnumerable<T> y reduce las secuencias resultantes en una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelectMany<Char, TResult>(Func<Char, Int32, IEnumerable<TResult>>)Sobrecargado. Proyecta cada elemento de una secuencia en una interfaz IEnumerable<T> y reduce las secuencias resultantes en una secuencia. El índice de cada elemento de origen se utiliza en el formulario proyectado de ese elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelectMany<Char, TCollection, TResult>(Func<Char, Int32, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)Sobrecargado. Proyecta cada elemento de una secuencia en IEnumerable<T>, reduce las secuencias resultantes en una única secuencia e invoca una función del selector de resultados en cada elemento. El índice de cada elemento de origen se utiliza en el formulario proyectado intermedio de ese elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSelectMany<Char, TCollection, TResult>(Func<Char, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)Sobrecargado. Proyecta cada elemento de una secuencia en IEnumerable<T>, reduce las secuencias resultantes en una única secuencia e invoca una función del selector de resultados en cada elemento. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSequenceEqual<Char>(IEnumerable<Char>)Sobrecargado. Determina si dos secuencias son iguales; para ello, se comparan sus elementos mediante el comparador de igualdad predeterminado para su tipo. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSequenceEqual<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Sobrecargado. Determina si dos secuencias son iguales; para ello, compara sus elementos utilizando una interfaz IEqualityComparer<T> especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSingle<Char>()Sobrecargado. Devuelve el único elemento de una secuencia y produce una excepción si no hay exactamente un elemento en la secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSingle<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el único elemento de una secuencia que cumpla la condición especificada y produce una excepción si más de un elemento la cumple. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSingleOrDefault<Char>()Sobrecargado. Devuelve el único elemento de una secuencia o un valor predeterminado si la secuencia está vacía; este método produce una excepción si hay más de un elemento en la secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSingleOrDefault<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve el único elemento de una secuencia que cumpla la condición especificada, o bien, un valor predeterminado si ese elemento no existe; este método produce una excepción si varios elementos cumplen la condición. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSkip<Char>Omite un número especificado de elementos en una secuencia y, a continuación, devuelve los elementos restantes. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSkipWhile<Char>(Func<Char, Boolean>)Sobrecargado. Omite los elementos de una secuencia en tanto que el valor de una condición especificada sea true y, a continuación, devuelve los elementos restantes. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSkipWhile<Char>(Func<Char, Int32, Boolean>)Sobrecargado. Omite los elementos de una secuencia en tanto que el valor de una condición especificada sea true y, a continuación, devuelve los elementos restantes. El índice del elemento se usa en la lógica de la función de predicado. (Definido por Enumerable).
Método de extensión públicoSubscribe<Char>(IObserver<Char>)Sobrecargado. (Definido por Observable).
Método de extensión públicoSubscribe<Char>(IObserver<Char>, IScheduler)Sobrecargado. (Definido por Observable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Int32>)Sobrecargado. Calcula la suma de una secuencia de valores Int32 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Nullable<Int32>>)Sobrecargado. Calcula la suma de la secuencia de valores Int32 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Int64>)Sobrecargado. Calcula la suma de una secuencia de valores Int64 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Nullable<Int64>>)Sobrecargado. Calcula la suma de la secuencia de valores Int64 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Single>)Sobrecargado. Calcula la suma de una secuencia de valores Single que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Nullable<Single>>)Sobrecargado. Calcula la suma de la secuencia de valores Single que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Double>)Sobrecargado. Calcula la suma de una secuencia de valores Double que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Nullable<Double>>)Sobrecargado. Calcula la suma de una secuencia de valores Double que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Decimal>)Sobrecargado. Calcula la suma de una secuencia de valores Decimal que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkSum<Char>(Func<Char, Nullable<Decimal>>)Sobrecargado. Calcula la suma de la secuencia de valores Decimal que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkTake<Char>Devuelve un número especificado de elementos contiguos desde el principio de una secuencia. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkTakeWhile<Char>(Func<Char, Boolean>)Sobrecargado. Devuelve los elementos de una secuencia en tanto que el valor de una condición especificada sea true. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkTakeWhile<Char>(Func<Char, Int32, Boolean>)Sobrecargado. Devuelve los elementos de una secuencia en tanto que el valor de una condición especificada sea true. El índice del elemento se usa en la lógica de la función de predicado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToArray<Char>Crea una matriz a partir de un objeto IEnumerable<T>. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToDictionary<Char, TKey>(Func<Char, TKey>)Sobrecargado. Crea una clase Dictionary<TKey, TValue> a partir de una interfaz IEnumerable<T> según una función del selector de claves especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToDictionary<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Sobrecargado. Crea un objeto Dictionary<TKey, TValue> a partir de un objeto IEnumerable<T> según una función del selector de claves especificada y el comparador de claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Sobrecargado. Crea un objeto Dictionary<TKey, TValue> a partir de un objeto IEnumerable<T> según el selector de claves especificado y las funciones del selector de elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Sobrecargado. Crea un objeto Dictionary<TKey, TValue> a partir de un objeto IEnumerable<T> según una función del selector de claves especificada, un comparador y una función del selector de elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToList<Char>Crea un objeto List<T> a partir de un objeto IEnumerable<T>. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToLookup<Char, TKey>(Func<Char, TKey>)Sobrecargado. Crea un objeto Lookup<TKey, TElement> a partir de un objeto IEnumerable<T> según una función del selector de claves especificada. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToLookup<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Sobrecargado. Crea un objeto Lookup<TKey, TElement> a partir de un objeto IEnumerable<T> según una función del selector de claves especificada y el comparador de claves. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Sobrecargado. Crea un objeto Lookup<TKey, TElement> a partir de un objeto IEnumerable<T> según el selector de claves especificado y las funciones del selector de elementos. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Sobrecargado. Crea un objeto Lookup<TKey, TElement> a partir de un objeto IEnumerable<T> según una función del selector de claves, un comparador y una función del selector de elementos especificados. (Definido por Enumerable).
Método de extensión públicoToObservable<Char>()Sobrecargado. (Definido por Observable).
Método de extensión públicoToObservable<Char>(IScheduler)Sobrecargado. (Definido por Observable).
Método de extensión públicoCompatible con XNA FrameworkUnion<Char>(IEnumerable<Char>)Sobrecargado. Proporciona la unión de conjuntos de dos secuencias utilizando el comparador de igualdad predeterminado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkUnion<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Sobrecargado. Proporciona la unión de conjuntos de dos secuencias a través de un objeto IEqualityComparer<T> especificado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkWhere<Char>(Func<Char, Boolean>)Sobrecargado. Filtra una secuencia de valores en función de un predicado. (Definido por Enumerable).
Método de extensión públicoCompatible con XNA FrameworkWhere<Char>(Func<Char, Int32, Boolean>)Sobrecargado. Filtra una secuencia de valores en función de un predicado. El índice de cada elemento se usa en la lógica de la función de predicado. (Definido por Enumerable).
Método de extensión públicoZip<Char, TSecond, TResult>Aplica la función especificada a los elementos correspondientes de dos secuencias, lo que genera una secuencia de resultados. (Definido por Enumerable).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEmptyRepresenta la cadena vacía. Este campo es de sólo lectura.
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIComparable.CompareToCompara la instancia actual con otro objeto del mismo tipo y devuelve un entero que indica si la posición de la instancia actual es anterior, posterior o igual que la del otro objeto en el criterio de ordenación.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToBooleanInfraestructura. Para obtener una descripción de este miembro, vea ToBoolean.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToByteInfraestructura. Para obtener una descripción de este miembro, vea ToByte.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToCharInfraestructura. Para obtener una descripción de este miembro, vea ToChar.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToDateTimeInfraestructura. Para obtener una descripción de este miembro, vea ToDateTime.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToDecimalInfraestructura. Para obtener una descripción de este miembro, vea ToDecimal.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToDoubleInfraestructura. Para obtener una descripción de este miembro, vea ToDouble.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToInt16Infraestructura. Para obtener una descripción de este miembro, vea ToInt16.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToInt32Infraestructura. Para obtener una descripción de este miembro, vea ToInt32.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToInt64Infraestructura. Para obtener una descripción de este miembro, vea ToInt64.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToSByteInfraestructura. Para obtener una descripción de este miembro, vea ToSByte.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToSingleInfraestructura. Para obtener una descripción de este miembro, vea ToSingle.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToTypeInfraestructura. Para obtener una descripción de este miembro, vea ToType.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToUInt16Infraestructura. Para obtener una descripción de este miembro, vea ToUInt16.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToUInt32Infraestructura. Para obtener una descripción de este miembro, vea ToUInt32.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIConvertible.ToUInt64Infraestructura. Para obtener una descripción de este miembro, vea ToUInt64.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkIEnumerable<Char>.GetEnumeratorDevuelve un enumerador que recorre en iteración el objeto String actual.
Implementación explícita de interfacesMétodo privadoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIEnumerable.GetEnumeratorDevuelve un enumerador que recorre en iteración el objeto String actual.
Arriba

Una cadena es una colección secuencial de caracteres Unicode que se utiliza para representar texto. Un objeto String es una colección secuencial de objetos System.Char que representan una cadena. El valor del objeto String es el contenido de la colección secuencial y ese valor es inmutable (es decir, de solo lectura). Para obtener más información sobre la inmutabilidad de cadenas, vea la sección de Inmutabilidad y la clase StringBuilder más adelante en este tema. El tamaño máximo de un objeto String en memoria es 2 GB, o cerca de 1 billón de caracteres.

En esta sección:

Crear instancias de un objeto string
Objetos Char y caracteres Unicode
Cadenas y caracteres nulos incrustados
Cadenas e índices
Cadenas nulas y cadenas vacías
Inmutabilidad y la clase StringBuilder
Ordinal con operaciones cultura- confidenciales
Normalización
Operaciones de cadena por categoría

Crear instancias de un objeto string

Puede crear instancias de un objeto String de las siguientes maneras:

  • Asignando un literal de cadena a una variable String. Este es el método utilizado normalmente para crear una cadena. En el siguiente ejemplo se utiliza la asignación para crear varias cadenas. Tenga en cuenta que en C#, como la barra diagonal inversa (\) es un carácter de escape, se deben incluir barras diagonales inversas literales en una cadena o la cadena completa debe ser @ - entrecomillada.

    
    string string1 = "This is a string created by assignment.";
    Console.WriteLine(string1);
    string string2a = "The path is C:\\PublicDocuments\\Report1.doc";
    Console.WriteLine(string2a);
    string string2b = @"The path is C:\PublicDocuments\Report1.doc";
    Console.WriteLine(string2b);
    // The example displays the following output:
    //       This is a string created by assignment.
    //       The path is C:\PublicDocuments\Report1.doc
    //       The path is C:\PublicDocuments\Report1.doc      
    
    
    
  • Llamando a un constructor de la clase String. En el siguiente ejemplo se crean instancias de las cadenas llamando a varios constructores de clase. Tenga en cuenta que algunos de los constructores incluyen punteros a matrices de caracteres o matrices de bytes firmadas como parámetros. Visual Basic no admite llamadas a estos constructores. Para obtener información detallada sobre los constructores de String , vea el resumen de constructor de String .

    
    char[] chars = { 'w', 'o', 'r', 'd' };
    sbyte[] bytes = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x00 };
    
    // Create a string from a character array.
    string string1 = new string(chars);
    Console.WriteLine(string1);
    
    // Create a string that consists of a character repeated 20 times.
    string string2 = new string('c', 20);
    Console.WriteLine(string2);
    
    string stringFromBytes = null;
    string stringFromChars = null;
    unsafe
    {
       fixed (sbyte* pbytes = bytes)
       {
          // Create a string from a pointer to a signed byte array.
          stringFromBytes = new string(pbytes);
       }
       fixed (char* pchars = chars)
       {
          // Create a string from a pointer to a character array.
          stringFromChars = new string(pchars);
       }
    }
    Console.WriteLine(stringFromBytes);
    Console.WriteLine(stringFromChars);
    // The example displays the following output:
    //       word
    //       cccccccccccccccccccc
    //       ABCDE
    //       word  
    
    
    
  • Utilizando el operador de concatenación de cadenas (+ en C# y & o + en Visual Basic) para crear una cadena única a partir de cualquier combinación de instancias de String y literales de cadena. En el ejemplo siguiente se muestra el uso del operador de concatenación de cadenas.

    
    string string1 = "Today is " + DateTime.Now.ToString("D") + ".";
    Console.WriteLine(string1);
    
    string string2 = "This is one sentence. " + "This is a second. ";
    string2 += "This is a third sentence.";
    Console.WriteLine(string2);
    // The example displays output like the following:
    //    Today is Tuesday, July 06, 2011.
    //    This is one sentence. This is a second. This is a third sentence.
    
    
    
  • Recuperando una propiedad o llamando a un método que devuelve una cadena. En el siguiente ejemplo se utilizan los métodos de la clase String para extraer una subcadena de una cadena mayor.

    
    string sentence = "This sentence has five words.";
    // Extract the second word.
    int startPosition = sentence.IndexOf(" ") + 1;
    string word2 = sentence.Substring(startPosition,
                                      sentence.IndexOf(" ", startPosition) - startPosition);
    Console.WriteLine("Second word: " + word2);
    // The example displays the following output:
    //       Second word: sentence
    
    
    
  • Llamando a un método de formato para convertir un valor u objeto en su representación de cadena. El ejemplo siguiente se utiliza la característica de formato compuesto para insertar la representación de cadena de dos objetos en una cadena.

    
    DateTime dateAndTime = new DateTime(2011, 7, 6, 7, 32, 0);
    double temperature = 68.3;
    string result = String.Format("At {0:t} on {0:D}, the temperature was {1:F1} degrees Fahrenheit.",
                                  dateAndTime, temperature);
    Console.WriteLine(result);
    // The example displays the following output:
    //       At 7:32 AM on Wednesday, July 06, 2011, the temperature was 68.3 degrees Fahrenheit.      
    
    
    

Objetos Char y caracteres Unicode

Los caracteres de una cadena se definen mediante un valor escalar Unicode, también denominado punto de código Unicode o valor ordinal (numérico) del carácter Unicode. Los puntos de código se codifican mediante UTF-16 y los valores numéricos de los elementos de la codificación se representan mediante un objeto Char.

Normalmente, un único objeto Char representa un solo punto de código, es decir, el valor numérico de Char equivale al punto de código. Por ejemplo, el punto de código para el carácter "a" es U+0061. Sin embargo, es posible que un punto de código requiera más de un elemento codificado (más de un objeto Char). El estándar Unicode define tres tipos de caracteres que corresponden a varios objetos Char: grafemas, puntos de código suplementarios de Unicode y caracteres en los planos suplementarios.

  • Un grafema se representa mediante un carácter base y uno o varios caracteres combinados. Por ejemplo, el carácter ä se representa mediante un objeto Char cuyo punto de código es U+0061 seguido por un objeto Char cuyo punto de código es U+0308. Un objeto Char único que tenga un punto de código de U+00E4 puede definir también este carácter. Como muestra el ejemplo siguiente, una comparación dependiente de la referencia cultural para la igualdad indica que estas dos representaciones son iguales, pero una comparación ordinal ordinaria no lo hace. Sin embargo, si se normalizan las dos cadenas, una comparación ordinal también indica que son iguales. (Para obtener más información sobre la normalización de cadenas, vea la sección de Normalización .)

    
    using System;
    using System.Globalization;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\graphemes.txt");
          string grapheme = "\u0061\u0308";
          sw.WriteLine(grapheme);
    
          string singleChar = "\u00e4";
          sw.WriteLine(singleChar);
    
          sw.WriteLine("{0} = {1} (Culture-sensitive): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.CurrentCulture));
          sw.WriteLine("{0} = {1} (Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.Ordinal));
          sw.WriteLine("{0} = {1} (Normalized Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme.Normalize(), 
                                     singleChar.Normalize(), 
                                     StringComparison.Ordinal));
          sw.Close(); 
       }
    }
    // The example produces the following output:
    //       ä
    //       ä
    //       ä = ä (Culture-sensitive): True
    //       ä = ä (Ordinal): False
    //       ä = ä (Normalized Ordinal): True
    
    
    
  • Un punto de código complementario de Unicode (un para suplente) lo representa un objeto Char cuyo punto de código es un suplente alto seguido por un objeto Char cuyo punto de código es un suplente bajo. Unidades de código de altos suplentes van de U+D800 a U+DBFF. Unidades de código de suplentes bajos van de U+D C00 a U+DFFF. Los pares suplentes se utilizan para representar los caracteres en los planos suplementarios 16 Unicode. El siguiente ejemplo crea un carácter suplente y le pasa el método Char.IsSurrogatePair(Char, Char) para determinar si es un par suplente.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          string surrogate = "\uD800\uDC03";
          for (int ctr = 0; ctr < surrogate.Length; ctr++) 
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate[ctr]));
    
          Console.WriteLine();
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate[0], surrogate[1]));
       }
    }
    // The example displays the following output:
    //       U+D800 U+DC03
    //          Is Surrogate Pair: True
    
    
    

Cadenas y caracteres nulos incrustados

En .NET Framework, un objeto String puede incluir caracteres NULL incrustados, que cuentan como parte de la longitud de la cadena. Sin embargo, en algunos lenguajes, como C y C++, un carácter null indica el fin de una cadena; no se considera parte de la cadena y no se cuenta como parte de la longitud de la cadena. Esto significa que las siguientes suposiciones comunes que los programadores de C y C++ o las bibliotecas escritas en C o C++ podrían hacer sobre las cadenas no son necesariamente válidas cuando se aplican a objetos String:

  • El valor devuelto por las funciones strlen o wcslen no es necesariamente igual a String.Length.

  • La cadena creada por las funciones strcpy_s o wcscpy_s no es necesariamente idéntica a la cadena creada por el método String.Copy.

Debe asegurarse de que el código nativo de C y C++ que crea instancias de los objetos String y el código al que se pasan objetos String a través de la invocación de plataforma, no dan por supuesto que un carácter null incrustado marque el fin de la cadena.

Los caracteres null incrustados en una cadena también se tratan de manera diferente cuando una cadena está ordenada (o comparada) y cuando se busca en una cadena. Los caracteres NULL se omiten cuando se realizan comparaciones dependientes de la referencia cultural entre dos cadenas, incluyendo las comparaciones que usan la referencia cultural de todos los idiomas. Se consideran sólo para las comparaciones ordinales o comparaciones ordinales sin distinción entre mayúsculas y minúsculas. Por otro lado, los caracteres NULL incrustados están considerados al siempre buscar en una cadena con métodos como Contains, StartsWithy IndexOf.

Cadenas e índices

Un índice es la posición de un objeto Char en un objeto String (no un carácter Unicode). Un índice es un número no negativo de base cero que comienza desde la primera posición de la cadena, que es la posición de índice cero. Varios métodos de búsqueda, como IndexOf y LastIndexOf, devuelven el índice de un carácter o subcadena en la instancia de la cadena.

La propiedad Chars permite tener acceso a los objetos Char individuales por su posición de índice en la cadena. Dado que la propiedad Chars es la propiedad predeterminada (en Visual Basic) o el indizador (en C#), puede tener acceso a los objetos Char individuales en una cadena utilizando código como el siguiente. Este código busca espacio en blanco o caracteres de puntuación en una cadena para determinar cuántas palabras contiene la cadena.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      for (int ctr = 0; ctr < s1.Length; ctr++) {
         if (Char.IsPunctuation(s1[ctr]) | Char.IsWhiteSpace(s1[ctr]))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


Dado que la clase String implementa la interfaz IEnumerable, también puede recorrer en iteración los objetos Char de una cadena utilizando una construcción foreach, como muestra el siguiente ejemplo.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      foreach (var ch in s1) {
         if (Char.IsPunctuation(ch) | Char.IsWhiteSpace(ch))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


Los valores de índice consecutivos pueden no corresponderse con caracteres Unicode consecutivos, ya que un carácter Unicode puede estar codificado como más de un objeto Char. En concreto, una cadena puede contener las unidades de multi- caracteres de texto que están formadas por un carácter base seguido de uno o más caracteres que combinan o por pares suplentes. Para trabajar con caracteres Unicode en lugar de objetos Char, utilice las clases System.Globalization.StringInfo y TextElementEnumerator. En el siguiente ejemplo se muestra la diferencia entre código que funciona con objetos Char y código que funciona con caracteres Unicode. Compara los número de caracteres o elementos de texto de cada palabra de una frase. La cadena incluye dos secuencias de un carácter base seguido por un carácter combinable.


using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // First sentence of The Mystery of the Yellow Room, by Leroux.
      string opening = "Ce n'est pas sans une certaine émotion que "+
                       "je commence à raconter ici les aventures " +
                       "extraordinaires de Joseph Rouletabille."; 
      // Character counters.
      int nChars = 0;
      // Objects to store word count.
      List<int> chars = new List<int>();
      List<int> elements = new List<int>();

      foreach (var ch in opening) {
         // Skip the ' character.
         if (ch == '\u0027') continue;

         if (Char.IsWhiteSpace(ch) | (Char.IsPunctuation(ch))) {
            chars.Add(nChars);
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      TextElementEnumerator te = StringInfo.GetTextElementEnumerator(opening);
      while (te.MoveNext()) {
         string s = te.GetTextElement();   
         // Skip the ' character.
         if (s == "\u0027") continue;
         if ( String.IsNullOrEmpty(s.Trim()) | (s.Length == 1 && Char.IsPunctuation(Convert.ToChar(s)))) {
            elements.Add(nChars);         
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      // Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters"); 
      for (int ctr = 0; ctr < chars.Count; ctr++) 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars[ctr], elements[ctr]); 
   }
}
// The example displays the following output:
//       Word #         Char Objects           Characters
//            0                    2                    2
//            1                    4                    4
//            2                    3                    3
//            3                    4                    4
//            4                    3                    3
//            5                    8                    8
//            6                    8                    7
//            7                    3                    3
//            8                    2                    2
//            9                    8                    8
//           10                    2                    1
//           11                    8                    8
//           12                    3                    3
//           13                    3                    3
//           14                    9                    9
//           15                   15                   15
//           16                    2                    2
//           17                    6                    6
//           18                   12                   12


Este ejemplo funciona con los elementos de texto utilizando el método de StringInfo.GetTextElementEnumerator y la clase de TextElementEnumerator para mostrar todos los elementos de texto en una cadena. También puede recuperar una matriz que contiene el índice de inicio de cada elemento de texto llamando al método de StringInfo.ParseCombiningCharacters .

Para obtener más información sobre cómo trabajar con unidades de texto en lugar de los valores individuales de Char , vea la clase de StringInfo .

Cadenas nulas y cadenas vacías

Una cadena declarada a la que no se le ha asignado ningún valor es null. Al intentar llamar a los métodos en esa cadena, se produce NullReferenceException. Una cadena nula es distinta de una cadena vacía, que es una cadena cuyo valor es "" o String.Empty. Al pasar una cadena nula o una cadena vacía como un argumento en una llamada al método, en algunos casos se produce una excepción. Por ejemplo, al pasar una cadena nula al método Int32.Parse, se produce ArgumentNullException y al pasar una cadena vacía, se produce FormatException. En otros casos, un argumento de método puede ser una cadena nula o una cadena vacía. Por ejemplo, si está proporcionando una implementación IFormattable para una clase, debe igualar una cadena nula y una cadena vacía con el especificador de formato general ("G").

La clase String incluye los siguientes dos métodos útiles que le permiten probar si una cadena es null o está vacía:

  • IsNullOrEmpty , que indica si una cadena es null o es igual a String.Empty. Este método elimina la necesidad de utilizar código tal como el siguiente:

    
    if (str == null || str.Equals(String.Empty))
    
    
    
  • IsNullOrWhiteSpace , que indica si una cadena es null, es igual a String.Empty o consiste exclusivamente en caracteres de espacia en blanco. Este método elimina la necesidad de utilizar código tal como el siguiente:

    
    if (str == null || str.Equals(String.Empty) || str.Trim().Equals(String.Empty))
    
    
    

En el ejemplo siguiente se utiliza el método IsNullOrEmpty en la implementación IFormattable.ToString de una clase Temperature personalizada. El método admite las cadenas de formato "G", "C", "F" y "K". Si una cadena de formato vacía o una cadena de formato cuyo valor es null se pasa al método, su valor se cambia a la cadena de formato "G."


public string ToString(string format, IFormatProvider provider) 
{
   if (String.IsNullOrEmpty(format)) format = "G";  
   if (provider == null) provider = CultureInfo.CurrentCulture;

   switch (format.ToUpperInvariant())
   {
      // Return degrees in Celsius.    
      case "G":
      case "C":
         return temp.ToString("F2", provider) + "°C";
      // Return degrees in Fahrenheit.
      case "F": 
         return (temp * 9 / 5 + 32).ToString("F2", provider) + "°F";
      // Return degrees in Kelvin.
      case "K":   
         return (temp + 273.15).ToString();
      default:
         throw new FormatException(
               String.Format("The {0} format string is not supported.", 
                             format));
   }                                   
}


Inmutabilidad y la clase StringBuilder

Un objeto String se denomina inmutable (de solo lectura) porque no se puede modificar su valor una vez que se ha creado. Los métodos que aparentemente modifican un objeto String devuelven en realidad un nuevo objeto String que contiene la modificación.

Dado que las cadenas son inmutables, las rutinas de manipulación de cadenas que realizan adiciones o eliminaciones repetidas a qué parece ser una única cadena pueden demandar una reducción del rendimiento significativa. Por ejemplo, el siguiente código utiliza un generador de números aleatorios para crear una cadena con 1000 caracteres en el intervalo 0x0001 a 0x052F. Aunque el código parece utilizar la concatenación de la cadena para anexar un nuevo carácter a la cadena existente denominada str, realmente crea un nuevo objeto String para cada operación de concatenación.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      string str = String.Empty;
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                           false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         str += Convert.ToChar(rnd.Next(1, 0x0530)); 
         if (str.Length % 60 == 0)
            str += Environment.NewLine;          
      }                    
      sw.Write(str);
      sw.Close();
   }
}


Puede utilizar la clase StringBuilder en lugar de la clase String para operaciones que realicen varios cambios en el valor de una cadena. A diferencia de las instancias de la clase String, los objetos StringBuilder son mutables; al concatenar, anexar o eliminar subcadenas de una cadena, las operaciones se realizan en una cadena única. Cuando haya terminado de modificar el valor de un objeto StringBuilder, puede llamar a su método StringBuilder.ToString para convertirlo en una cadena. El siguiente ejemplo reemplaza la String utilizada en el ejemplo anterior para concatenar 1000 caracteres aleatorios en el intervalo a 0x0001 a 0x052F con un objeto StringBuilder.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      StringBuilder sb = new StringBuilder();
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                                         false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         sb.Append(Convert.ToChar(rnd.Next(1, 0x0530))); 
         if (sb.Length % 60 == 0)
            sb.AppendLine();          
      }                    
      sw.Write(sb.ToString());
      sw.Close();
   }
}


Ordinal con operaciones cultura- confidenciales

Los miembros de la clase String realizan operaciones dependientes u ordinal de la referencia cultural (lingüística) en un objeto String. Una operación ordinal actúa sobre el valor numérico de cada objeto Char. Una operación que tenga en cuenta la referencia cultural actúa sobre el valor del objeto String, teniendo en cuenta el uso de mayúsculas y minúsculas, la ordenación, el formato y las reglas de análisis específicos de la referencia cultural. Las operaciones sensibles a la referencia cultural se ejecutan en el contexto de una referencia cultural explícitamente declarada o de la referencia cultural implícita actual. Los dos tipos de operaciones pueden producir resultados muy diferentes cuando se realizan en la misma cadena.

Nota de seguridadNota sobre la seguridad

Si la aplicación adopta una decisión de seguridad sobre un identificador simbólico, como un nombre de archivo o una canalización con nombre, o sobre los datos conservados, como los basados en texto de un archivo XML, la operación debe utilizar una comparación de ordinales en lugar de una comparación dependiente de la referencia cultural. El motivo es que la comparación dependiente de la referencia cultural puede producir distintos resultados en función de la referencia cultural en vigor, mientras que la comparación de ordinales solo depende del valor binario de los caracteres comparados.

Nota importanteImportante

La mayoría de los métodos que realizan las operaciones de cadena incluyen una sobrecarga que tiene un parámetro de tipo StringComparison, que permite especificar si el método realiza una operación ordinal o dependiente de la referencia cultural. En general, debería llamar a esta sobrecarga para realizar el intento de su llamada al método borrar. Para los procedimientos recomendados y orientación para utilizar operaciones ordinales y dependientes de la referencia cultural en cadenas, vea Procedimientos recomendados para el uso de cadenas en .NET Framework.

Las operaciones de el la grafía, análisis y formato, comparación y ordenación, y prueba de igualdad pueden ser u ordinales o cultura- confidenciales. En las siguientes secciones se explica cada categoría de operación.

s1wwdcbf.collapse_all(es-es,VS.110).gifMayúsculas/minúsculas

Las reglas de las mayúsculas y minúsculas determinan la forma de cambiar un carácter Unicode de mayúsculas a minúsculas o viceversa. A menudo, una operación de grafía se realiza antes de una comparación de cadenas. Por ejemplo, una cadena se podría pasar a letras mayúsculas para que se pueda comparar con otra cadena en mayúsculas. Puede convertir los caracteres de una cadena en minúsculas llamando al método ToLowerInvariant o ToLower, y puede convertirlos en mayúsculas llamando al método ToUpperInvariant o ToUpper. Además, puede utilizar el método TextInfo.ToTitleCase para convertir una cadena en letras tipo título.

Las operaciones de mayúsculas/minúsculas se pueden basar en las reglas de la referencia cultural, en una referencia cultural especificada o en la referencia cultural de todos los idiomas. Dado que las asignaciones de casos pueden variar dependiendo de la referencia cultural utilizada, el resultado de las operaciones de superposición puede variar según la referencia cultural. Las diferencias reales en la grafía son de tres clases:

  • Diferencias en la asignación de caso de la LATIN CAPITAL LETTER I (U+0049), la LATIN de SMALL LETTER I (U+0069), POINT ABOVE (U+0130) de la LATIN CAPITAL LETTER I WITH, y la LATIN de SMALL LETTER DOTLESS I (U+0131). En el tr-TR (turco (Turquía)) y las referencias culturales de az - az-latn (Azerbaiyán, designada como) y, en el tr, el az, y referencias culturales neutras de az-Latn, el equivalente en minúsculas de la LATIN CAPITAL LETTER I son la LATIN de SMALL LETTER DOTLESS I, y el equivalente una mayúscula de la LATIN de SMALL LETTER I es el PUNTO ABOVE de la LATIN CAPITAL LETTER I WITH. En el resto de las referencias culturales, incluida la referencia cultural invariable, la LATIN de SMALL LETTER I y la LATIN CAPITAL LETTER I son equivalentes en minúsculas y minúscula.

    El ejemplo siguiente muestra cómo una comparación de cadenas diseñada para evitar el acceso al sistema de archivos puede fallar si se basa en una comparación cultura- sensible de superposición. (Las convenciones de mayúsculas y minúsculas de la referencia cultural invariable deben haberse utilizado.)

    
    using System;
    using System.Globalization;
    using System.Threading;
    
    public class Example
    {
       const string disallowed = "file";
    
       public static void Main()
       {
          IsAccessAllowed(@"FILE:\\\c:\users\user001\documents\FinancialInfo.txt");
       }
    
       private static void IsAccessAllowed(String resource)
       {
          CultureInfo[] cultures = { CultureInfo.CreateSpecificCulture("en-US"),
                                     CultureInfo.CreateSpecificCulture("tr-TR") };
          String scheme = null;
          int index = resource.IndexOfAny( new Char[] { '\\', '/' } );
          if (index > 0) 
             scheme = resource.Substring(0, index - 1);
    
          // Change the current culture and perform the comparison.
          foreach (var culture in cultures) {
             Thread.CurrentThread.CurrentCulture = culture;
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName);
             Console.WriteLine(resource);
             Console.WriteLine("Access allowed: {0}", 
                               ! String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase));      
             Console.WriteLine();
          }   
       }
    }
    // The example displays the following output:
    //       Culture: English (United States)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: False
    //       
    //       Culture: Turkish (Turkey)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: True
    
    
    
  • Diferencias en caso de que asignaciones entre la referencia cultural invariable y el resto de las referencias culturales. En estos casos, utilizando las reglas de grafía de la referencia cultural invariable para cambiar un carácter en mayúsculas o minúsculas devuelve el mismo carácter. Para el resto de las referencias culturales, devuelve un carácter diferente. Algunos de los caracteres afectados se muestran en la tabla siguiente.

    Carácter

    Si se ha cambiado a

    Valores devueltos

    SIGNO DE MICRÓN (U+00B5)

    Mayúsculas

    LATIN CAPITAL GRIEGA MU (U+-39C)

    LATIN CAPITAL LETTER I WITH EL PUNTO SOBRE (U+0130)

    Minúsculas

    PEQUEÑA LETRA LATINA I (U+0069)

    PEQUEÑA LETRA LATINA I DOTLESS (U+0131)

    Mayúsculas

    LATIN CAPITAL LETTER I (U+0049)

    S LARGA LETTER OF TABLE PEQUEÑA LATIN (U+017F)

    Mayúsculas

    S OF LATIN CAPITAL LETTER (U+0053)

    D OF TABLE LATIN CAPITAL LETTER WITH Z OF TABLE PEQUEÑA LATIN WITH CARON (U+01 C5)

    Minúsculas

    PEQUEÑA LETRA LATINA DZ WITH CARON (U+01 C6)

    COMBINANDO YPOGEGRAMMENI GRIEGO (U+0345)

    Mayúsculas

    LATIN CAPITAL GRIEGA IOTA (U+0399)

  • Diferencias en caso de que se extienden las asignaciones de los pares de mezclar- caso de la dos- letra en el carácter ASCII. En la mayoría de las referencias culturales, par de mezclar- caso de la dos- letra es igual a pares equivalentes de mayúsculas o minúsculas de la dos- letra. Esto no es aplicable para los siguientes pares de la dos- letra en las referencias culturales siguientes, ya que en cada caso se comparan con un digrama:

    • “lJ” y “nJ” sobre la hora-hora (croata (Croacia)) referencia cultural.

    • “cH” en la cs-CZ (checa (República Checa)) y SK-SK (eslovaca (Eslovaquia)) referencias culturales.

    • “aA” en DA-DK (danesa (Dinamarca)) referencia cultural.

    • “cS”, “DZ”, “dZS”, “nY”, “SZ”, “tY”, y “zS” en HU-HU (húngara (Hungría)) referencia cultural.

    • “cH” y “lL” en el es-ES_tradnl (español (España, Ordenación tradicional)) referencia cultural.

    • “cH”, “private intrincado en el ejército”, “KH”, “nG” “nH”, “pH”, “qU, “tH”, y “tR” en el VI- VN (vietnamita (Vietnam)) referencia cultural.

    Sin embargo, es poco habitual encontrar una situación en la que una comparación cultura- confidencial de estos pares cree problemas, porque estos pares son infrecuentes en cadenas o identificadores fijos.

El siguiente ejemplo muestra algunas de las diferencias en reglas de mayúsculas y minúsculas entre referencias culturales al convertir cadenas en letras mayúsculas.


using System;
using System.Globalization;
using System.IO;

public class Example
{
   public static void Main()
   {
      StreamWriter sw = new StreamWriter(@".\case.txt");   
      string[] words = { "file", "sıfır", "Dženana" };
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"),  
                                 new CultureInfo("tr-TR") };

      foreach (var word in words) {
         sw.WriteLine("{0}:", word);
         foreach (var culture in cultures) {
            string name = String.IsNullOrEmpty(culture.Name) ? 
                                 "Invariant" : culture.Name;
            string upperWord = word.ToUpper(culture);
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord));

         }
         sw.WriteLine();  
      }
      sw.Close();
   }

   private static string ShowHexValue(string s)
   {
      string retval = null;
      foreach (var ch in s) {
         byte[] bytes = BitConverter.GetBytes(ch);
         retval += String.Format("{0:X2} {1:X2} ", bytes[1], bytes[0]);     
      }
      return retval;
   } 
}
// The example displays the following output:
//    file:
//        Invariant:    FILE               00 46 00 49 00 4C 00 45 
//            en-US:    FILE               00 46 00 49 00 4C 00 45 
//            tr-TR:    FİLE               00 46 01 30 00 4C 00 45 
//    
//    sıfır:
//        Invariant:   SıFıR         00 53 01 31 00 46 01 31 00 52 
//            en-US:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//            tr-TR:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//    
//    Dženana:
//        Invariant:  DžENANA   01 C5 00 45 00 4E 00 41 00 4E 00 41 
//            en-US:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 
//            tr-TR:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 


s1wwdcbf.collapse_all(es-es,VS.110).gifAnálisis y formato

Dar formato y analizar son operaciones inversas. Las reglas de formato determinan cómo convertir un valor, como una fecha y hora o un número, en su representación de cadena, mientras que analizar las reglas determina cómo convertir una representación de cadena en un valor, como una fecha y hora. Tanto las reglas de formato como de análisis dependen de convenciones culturales. El siguiente ejemplo muestra la ambigüedad que puede surgir al interpretar una cadena de fecha específica de la referencia cultural. Sin conocer las convenciones de la referencia cultural utilizada para generar una cadena de fecha, no es posible saber si 03/01/2011, 3/1/2011 y 01/03/2011 representan el 3 de enero de 2011 o el 1 de marzo de 2011.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2011, 3, 1);
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };

      foreach (var culture in cultures)
         Console.WriteLine("{0,-12} {1}", String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.ToString("d", culture));                                    
   }
}
// The example displays the following output:
//       Invariant    03/01/2011
//       en-US        3/1/2011
//       fr-FR        01/03/2011


De igual forma, como muestra el siguiente ejemplo, una cadena única puede generar fechas diferentes que dependen de la referencia cultural cuyas convenciones se utilizan en la operación del análisis.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString = "07/10/2011";
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 CultureInfo.CreateSpecificCulture("en-GB"), 
                                 CultureInfo.CreateSpecificCulture("en-US") };
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}\n", "Date String", "Culture", 
                                                 "Month", "Day");
      foreach (var culture in cultures) {
         DateTime date = DateTime.Parse(dateString, culture);
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.Month, date.Day);
      }                      
   }
}
// The example displays the following output:
//       Date String     Culture    Month      Day
//       
//       07/10/2011    Invariant        7       10
//       07/10/2011        en-GB       10        7
//       07/10/2011        en-US        7       10


s1wwdcbf.collapse_all(es-es,VS.110).gifComparación de cadenas y ordenación

Las convenciones para comparar y ordenar cadenas varían según las referencias culturales. Por ejemplo, el criterio de ordenación se puede basar en la fonética o en la representación visual de caracteres. En los idiomas de Asia oriental, los caracteres se ordenan teniendo en cuenta los trazos y el radical de los ideogramas. El criterio de ordenación también depende del orden que se emplea en los distintos idiomas y referencias culturales para el alfabeto. Por ejemplo, el idioma danés tiene un carácter "Æ" que se ordena después de la "Z" en el alfabeto. Además, las comparaciones pueden distinguir entre mayúsculas y minúsculas o sin distinción entre mayúsculas y minúsculas, y reglas en algunos casos que combinación también difieren según la referencia cultural. La comparación ordinal, por otro lado, utiliza puntos de código Unicode de caracteres individuales de una cadena al comparar y ordenar cadenas.

Las reglas de ordenación determinan el orden alfabético de los caracteres Unicode y la forma de comparar dos cadenas entre sí. Por ejemplo, el método String.Compare(String, String, StringComparison) compara dos cadenas basadas en el parámetro StringComparison. Si el valor de parámetro es StringComparison.CurrentCulture, el método realiza una comparación lingüística que utiliza las convenciones de la referencia cultural actual; si el valor de parámetro es StringComparison.Ordinal, el método realiza una comparación ordinal. Por consiguiente, como se muestra en el ejemplo siguiente, si la referencia cultural actual es inglés de EE.UU., la primera llamada al método de String.Compare(String, String, StringComparison) (mediante la comparación cultura- sensible) considera “a” menor que “A”, pero la segunda llamada al mismo método (mediante la comparación ordinal) considera “a” mayor que “A”.


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

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture));
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       1
//       -32


.NET Framework admite las reglas de ordenación de palabras, cadenas y ordinales:

  • Una operación de ordenación de palabras realiza una comparación de cadenas donde se tiene en cuenta la referencia cultural y donde ciertos caracteres Unicode no alfanuméricos pueden tener asignados pesos especiales. Por ejemplo, el guión (-) podría tener asignado un peso muy pequeño, por lo que las cadenas "coop" y "co-op" aparecerían una junto a la otra en una lista ordenada. Para obtener una lista de los métodos de String que comparan dos cadenas mediante reglas de ordenación por palabra, vea la sección de Operaciones de cadena por categoría .

  • Una ordenación por cadena también realiza una comparación que tiene en cuenta la referencia cultural. Es similar a la ordenación por palabra, excepto que no hay casos especiales y todos los símbolos alfanuméricos van antes de los caracteres Unicode alfanuméricos. Dos cadenas se pueden comparar utilizando las reglas de ordenación por cadena llamando a las sobrecargas del método CompareInfo.Compare que tienen un parámetro options al que se proporciona un valor de CompareOptions.StringSort. Observe que se trata del único método que .NET Framework proporciona para comparar dos cadenas mediante las reglas de ordenación de cadenas.

  • Una ordenación ordinal compara las cadenas basadas en el valor numérico de cada objeto Char en la cadena. La comparación de ordinales distingue automáticamente entre mayúsculas y minúsculas porque las versiones en minúsculas y en mayúsculas de un carácter tienen distintos puntos de código. Sin embargo, no es importante la distinción entre mayúsculas y minúsculas, se puede especificar una comparación de ordinales que omita dicha distinción. Resulta equivalente a pasar la cadena a mayúsculas utilizando la referencia cultural de todos los idiomas y realizar después una comparación de ordinales con el resultado. Para obtener una lista de los métodos de String que comparan dos cadenas mediante reglas de ordenación ordinales, vea la sección de Operaciones de cadena por categoría .

Una comparación dependiente de la referencia cultural es cualquier comparación que utiliza explícita o implícitamente un objeto CultureInfo, incluida la referencia cultural de todos los idiomas que especifica la propiedad CultureInfo.InvariantCulture. La referencia cultural implícita es la referencia cultural actual, que es especificada por propiedades Thread.CurrentCulture y CultureInfo.CurrentCulture. Hay considerable variación en el criterio de ordenación de los caracteres alfabéticos (es decir, caracteres por los que la propiedad de Char.IsLetter devuelve true) a través de referencias culturales. Puede especificar una comparación cultura- sensible que usa las convenciones de una referencia cultural concreta proporciona un objeto de CultureInfo a un método de comparación de cadenas como Compare(String, String, CultureInfo, CompareOptions). Puede especificar una comparación cultura- sensible que utilice las convenciones de la referencia cultural actual proporcionando StringComparison.CurrentCulture, StringComparison.CurrentCultureIgnoreCase, o a cualquier miembro de enumeración de CompareOptions distinto de CompareOptions.Ordinal o de CompareOptions.OrdinalIgnoreCase a una sobrecarga de método adecuada de Compare . Una comparación cultura- sensible normalmente es adecuada para ordenar mientras no es una comparación ordinal. Una comparación ordinal normalmente es adecuada para determinar si dos cadenas son iguales (es decir, para determinar identidad) mientras no es una comparación cultura- confidencial.

El ejemplo siguiente muestra la diferencia entre la comparación cultura-sensible y ordinal. El ejemplo evalúa tres cadenas, “Apple”, “Æble”, y “AEble”, usando las convenciones de DA- DK y de las referencias culturales de en-us (que es la referencia cultural predeterminada que el método de Compare se denomina en el momento), así como la comparación ordinal. Dado que el idioma danés el carácter “Æ” se trata como carácter individual y se ordena después de la “z” en el alfabeto, la cadena “Æble” es mayor que “Apple”. Sin embargo, “Æble” no se considera equivalente a “AEble”, por lo que “Æble” también es mayor que “AEble”. La referencia cultural en-us no tiene ninguna letra Æ pero la trata como “CA equivalente”, que explica por qué “Æble” es menor que “Apple” pero igual a “AEble”. La comparación ordinal, por otro lado, vea “Apple” es menor que “Æble”, y el ttto de “Æble” mayor que “AEble”.


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

public class CompareStringSample
{
   public static void Main()
   {
      string str1 = "Apple";
      string str2 = "Æble"; 
      string str3 = "AEble";

      // Set the current culture to Danish in Denmark.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Set the current culture to English in the U.S.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Perform an ordinal comparison.
      Console.WriteLine("Ordinal comparison");
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, 
                        String.Compare(str1, str2, StringComparison.Ordinal));
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, 
                        String.Compare(str2, str3, StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       Current culture: da-DK
//       Comparison of Apple with Æble: -1
//       Comparison of Æble with AEble: 1
//       
//       Current culture: en-US
//       Comparison of Apple with Æble: 1
//       Comparison of Æble with AEble: 0
//       
//       Ordinal comparison
//       Comparison of Apple with Æble: -133
//       Comparison of Æble with AEble: 133


Utilice las siguientes directrices generales para elegir un método adecuado de ordenación o de comparación de cadenas:

  • Si desea que las cadenas que se ordenen según la referencia cultural del usuario, debe pedirlas según las convenciones de la referencia cultural actual. Si la referencia cultural del usuario, el orden de cadenas ordenadas también cambian en consecuencia. Por ejemplo, una aplicación de diccionario de sinónimos debe ordenar siempre las palabras en función de la referencia cultural del usuario.

  • Si desea que las cadenas que se ordenen según las convenciones de una referencia cultural concreta, debe pedirlas proporcionando un objeto de CultureInfo que representa esa referencia cultural a un método de comparación. Por ejemplo, en una aplicación diseñada para enseñar los estudiantes a un lenguaje determinado, desea que las cadenas que se ordenen según las convenciones de una de las referencias culturales que habla ese lenguaje.

  • Si desea que el orden de cadenas de permanecer intacta en distintas referencias culturales, debe pedirlas según las convenciones de la referencia cultural invariable o utilizar una comparación ordinal. Por ejemplo, utilizaría una ordenación ordinal para organizar los nombres de archivos, procesos, de exclusiones mutuas, o de canalizaciones con nombre.

  • Para una comparación que implica una decisión de seguridad (por ejemplo si un nombre de usuario es válido), debe realizar siempre una prueba ordinal de igualdad llamando a una sobrecarga del método de Equals .

NotaNota

La ordenación dependiente de la referencia cultural y las reglas de mayúsculas y minúsculas utilizadas en la comparación de cadenas dependen de la versión de .NET Framework. En .NET Framework 4.5 que se ejecuta en el sistema operativo de Windows 8 , ordenación, baraja, la normalización, y la información de caracteres Unicode se ajusta a Unicode 6,0. En otros sistemas operativos, se ajusta a Unicode 5,0.

Para obtener más información sobre las reglas de ordenación de palabras, cadenas y ordinales, vea el tema System.Globalization.CompareOptions. Para conocer las recomendaciones adicionales de cuándo utilizar cada regla, vea Procedimientos recomendados para el uso de cadenas en .NET Framework.

Normalmente, no llama directamente a los métodos de comparación de cadenas como Compare para determinar el criterio de ordenación de cadenas. En su lugar, se llama a los métodos de comparación ordenando métodos como Array.Sort o List<T>.Sort. El ejemplo siguiente realiza cuatro operaciones de ordenación (palabra ordenada usando la referencia cultural actual, palabra ordenada usando la referencia cultural invariable, ordenación de ordinal, y ordenación de cadena usando la referencia cultural invariable) sin llamar explícitamente a un método de comparación de cadenas, aunque especifican el tipo de comparación que la ordenación es utilizar. Observe que cada tipo de ordenación genera una clasificación única de cadenas en su matriz.


using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] strings = { "coop", "co-op", "cooperative", 
                           "co\u00ADoperative", "cœur", "coeur" };

      // Perform a word sort using the current (en-US) culture.
      string[] current = new string[strings.Length]; 
      strings.CopyTo(current, 0); 
      Array.Sort(current, StringComparer.CurrentCulture);

      // Perform a word sort using the invariant culture.
      string[] invariant = new string[strings.Length];
      strings.CopyTo(invariant, 0); 
      Array.Sort(invariant, StringComparer.InvariantCulture);

      // Perform an ordinal sort.
      string[] ordinal = new string[strings.Length];
      strings.CopyTo(ordinal, 0); 
      Array.Sort(ordinal, StringComparer.Ordinal);

      // Perform a string sort using the current culture.
      string[] stringSort = new string[strings.Length];
      strings.CopyTo(stringSort, 0); 
      Array.Sort(stringSort, new SCompare());

      // Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}\n", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort");
      for (int ctr = 0; ctr < strings.Length; ctr++)
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings[ctr], current[ctr], invariant[ctr], 
                           ordinal[ctr], stringSort[ctr] );          
   }
}

// IComparer<String> implementation to perform string sort.
internal class SCompare : IComparer<String>
{
   public int Compare(string x, string y)
   {
      return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort);
   }
}
// The example displays the following output:
//         Original     Word Sort  Invariant Word  Ordinal Sort   String Sort
//    
//             coop          cœur            cœur         co-op         co-op
//            co-op         coeur           coeur         coeur          cœur
//      cooperative          coop            coop          coop         coeur
//     co­operative         co-op           co-op   cooperative          coop
//             cœur   cooperative     cooperative  co­operative   cooperative
//            coeur  co­operative    co­operative          cœur  co­operative


SugerenciaSugerencia

Internamente, el marco de .NET framework usa criterios de ordenación para admitir la comparación de cadenas cultural- confidencial. A cada carácter de una cadena se le otorgan varias categorías de prioridad de ordenación, entre las que se incluyen el orden alfabético, el uso de mayúsculas y minúsculas y los signos diacríticos. Un criterio de ordenación, representado por la clase de SortKey , proporciona un repositorio de estas categorías para una determinada cadena. Si la aplicación realiza un gran número de operaciones que buscan o que ordenan en el mismo conjunto de cadenas, puede mejorar el rendimiento generando y almacenando los criterios de ordenación para todas las cadenas que utiliza. Cuando se requiere una operación de ordenación o de comparación, se usan los criterios de ordenación en lugar de cadenas. Para obtener más información, vea la clase SortKey.

Si no especifica una convención de comparación de cadenas, los métodos de ordenación como Array.Sort(Array) realizan una ordenación cultura- confidencial, con distinción entre mayúsculas y minúsculas en cadenas. El ejemplo siguiente se muestra cómo cambiar la referencia cultural actual afecta al orden de cadenas ordenadas en una matriz. Crea una matriz de tres cadenas. En primer lugar, se establece la propiedad System.Threading.Thread.CurrentThread.CurrentCulture en en-US y se llama al método Array.Sort(Array). El criterio de ordenación resultante se basa en las convenciones de ordenación de la referencia cultural Inglés (Estados Unidos). A continuación, el ejemplo establece la propiedad System.Threading.Thread.CurrentThread.CurrentCulture en da-DK y llama de nuevo al método Array.Sort. Observe que el criterio de ordenación resultante difiere del resultado de en-US porque usa las convenciones de ordenación correspondientes a la referencia cultural Danés (Dinamarca).


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

public class ArraySort 
{
   public static void Main(String[] args) 
   {
      // Create and initialize a new array to store the strings.
      string[] stringArray = { "Apple", "Æble", "Zebra"};

      // Display the values of the array.
      Console.WriteLine( "The original string array:");
      PrintIndexAndValues(stringArray);

      // Set the CurrentCulture to "en-US".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Sort the values of the array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"en-US\":");
      PrintIndexAndValues(stringArray); 

      // Set the CurrentCulture to "da-DK".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      // Sort the values of the Array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"da-DK\":");
      PrintIndexAndValues(stringArray); 
   }
   public static void PrintIndexAndValues(string[] myArray)  
   {
      for (int i = myArray.GetLowerBound(0); i <= 
            myArray.GetUpperBound(0); i++ )
         Console.WriteLine("[{0}]: {1}", i, myArray[i]);
      Console.WriteLine();      
   }
}
// The example displays the following output:
//       The original string array:
//       [0]: Apple
//       [1]: Æble
//       [2]: Zebra
//       
//       After sorting for the "en-US" culture:
//       [0]: Æble
//       [1]: Apple
//       [2]: Zebra
//       
//       After sorting for the culture "da-DK":
//       [0]: Apple
//       [1]: Zebra
//       [2]: Æble


Nota de precauciónPrecaución

Si su propósito principal para comparar las cadenas es determinar si son iguales, llame al método String.Equals. Normalmente, debería utilizar Equals para realizar una comparación ordinal. El propósito principal del método String.Compare es ordenar cosas.

Los métodos de búsqueda de cadenas, como String.StartsWith y String.IndexOf, también puede realizar comparaciones de cadenas ordinales o dependiente de la referencia cultural. En el siguiente ejemplo se muestran las diferencias entre las comparaciones ordinales y dependientes de la referencia cultural utilizando el método IndexOf. Una búsqueda que tiene en cuenta la referencia cultural donde la referencia cultural actual sea inglés (Estados Unidos) considera que la cadena "oe" coincide con la ligadura "œ". Dado que un guión corto (U+00AD) es un carácter de ancho cero, la búsqueda lo trata como equivalente a Empty y encuentra una coincidencia al principio de la cadena. Por otro lado, una búsqueda ordinal no encuentra una coincidencia en ninguno de los casos.


using System;

public class Example
{
   public static void Main()
   {
      // Search for "oe" and "œu" in "œufs" and "oeufs".
      string s1 = "œufs";
      string s2 = "oeufs";
      FindInString(s1, "oe", StringComparison.CurrentCulture);
      FindInString(s1, "oe", StringComparison.Ordinal);
      FindInString(s2, "œu", StringComparison.CurrentCulture);
      FindInString(s2, "œu", StringComparison.Ordinal);
      Console.WriteLine();

      string s3 = "co\u00ADoperative";
      FindInString(s3, "\u00AD", StringComparison.CurrentCulture);
      FindInString(s3, "\u00AD", StringComparison.Ordinal);
   }

   private static void FindInString(string s, string substring, StringComparison options)
   {
      int result = s.IndexOf(substring, options);
      if (result != -1)
         Console.WriteLine("'{0}' found in {1} at position {2}", 
                           substring, s, result);
      else
         Console.WriteLine("'{0}' not found in {1}", 
                           substring, s);                                                  
   }
}
// The example displays the following output:
//       'oe' found in œufs at position 0
//       'oe' not found in œufs
//       'œu' found in oeufs at position 0
//       'œu' not found in oeufs
//       
//       '­' found in co­operative at position 0
//       '­' found in co­operative at position 2


s1wwdcbf.collapse_all(es-es,VS.110).gifBuscar cadenas

Los métodos de búsqueda de cadenas, como String.StartsWith y String.IndexOf, también pueden realizar comparaciones de cadenas cultura- confidenciales u ordinales para determinar si un carácter o una subcadena se encuentra en una cadena especificada.

Los métodos de búsqueda permiten buscar un carácter o el de un conjunto de caracteres de una cadena, o para buscar una subcadena en una cadena. Los métodos de búsqueda en la clase de String que búsqueda para un carácter individual, como el método de IndexOf , o una de un juego de caracteres, como el método de IndexOfAny , toda realiza una búsqueda ordinal. Para realizar una búsqueda cultura- sensible por un carácter, debe llamar a un método de CompareInfo como CompareInfo.IndexOf(String, Char) o CompareInfo.LastIndexOf(String, Char). Observe que los resultados de buscar un carácter mediante la comparación ordinal y cultura- sensible pueden ser muy diferentes. Por ejemplo, una búsqueda por un carácter Unicode compuesto como la ligadura “Æ” (U+00 C6) podría coincidir con las apariciones de los componentes en la secuencia correcta, como “CA” (U+041U+0045), dependiendo de la referencia cultural. El ejemplo siguiente se muestra la diferencia entre String.IndexOf(Char) y los métodos de CompareInfo.IndexOf(String, Char) al buscar un carácter individual. Ligadura “æ” (U+00E6) se encuentra en la cadena “antena” al utilizar las convenciones de la referencia cultural en-us, pero no al utilizar las convenciones de la referencia cultural DA- DK o al realizar de una comparación ordinal.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "da-DK", "en-US" };
      CompareInfo ci;
      String str = "aerial";
      Char ch = 'æ';  // U+00E6

      Console.Write("Ordinal comparison -- ");
      Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                        str.IndexOf(ch));

      foreach (var cultureName in cultureNames) {
         ci = CultureInfo.CreateSpecificCulture(cultureName).CompareInfo;
         Console.Write("{0} cultural comparison -- ", cultureName);
         Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                           ci.IndexOf(str, ch));
      }
   }
}
// The example displays the following output:
//       Ordinal comparison -- Position of 'æ' in aerial: -1
//       da-DK cultural comparison -- Position of 'æ' in aerial: -1
//       en-US cultural comparison -- Position of 'æ' in aerial: 0


Por otra parte, los métodos de clase de String que buscan una cadena en lugar de un carácter realizan una búsqueda cultura- sensible si las opciones de búsqueda no se especifican en un parámetro de StringComparisonescrito. La única excepción es Contains, que realiza una búsqueda ordinal.

s1wwdcbf.collapse_all(es-es,VS.110).gifPrueba de igualdad

Utilice el método String.Compare para determinar la relación de dos cadenas en el criterio de ordenación. Normalmente, ésta es una operación dependiente de la referencia cultural. Por el contrario, llame al método String.Equals para comprobar la igualdad. Dado que la prueba de igualdad normalmente compara los datos proporcionados por el usuario con alguna cadena conocida, como un nombre de usuario válido, una contraseña o una ruta de sistema de archivos es normalmente una operación ordinal.

Nota de precauciónPrecaución

Es posible comprobar la igualdad llamando al método String.Compare y determinar si el valor devuelto es cero. Sin embargo, no se recomienda esta práctica. Para determinar si dos cadenas son iguales, debe llamar a una de las sobrecargas del método String.Equals. La sobrecarga preferida para llamar es el método Equals(String, StringComparison) de la instancia o el método Equals(String, String, StringComparison) estático, porque ambos métodos incluyen un parámetro System.StringComparison que especifica explícitamente el tipo de comparación.

El siguiente ejemplo muestra el peligro de realizar una comparación dependiente de la referencia cultural para la igualdad cuando se debería utilizar una ordinal en su lugar. En este caso, el intento del código es prohibir el acceso al sistema de archivos de direcciones URL que comienzan con "ARCHIVO://" o "archivo://" realizando una comparación sin distinción entre mayúsculas y minúsculas del principio de una dirección URL con la cadena "ARCHIVO://". Sin embargo, si una comparación dependiente de la referencia cultural se realiza utilizando la referencia cultural turca (Turquía) en una dirección URL que comienza con "archivo://", la comparación de igualdad da error, porque el equivalente en mayúsculas en turco de la "i" minúscula es "İ" en lugar de "I". Como resultado, se permite el acceso al sistema de archivos inadvertidamente. Por otro lado, si se realiza una comparación ordinal, la comparación de igualdad es correcta y se deniega el acceso al sistema de archivos.


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

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR");      

      string filePath = "file://c:/notes.txt";

      Console.WriteLine("Culture-sensitive test for equality:");
      if (! TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);

      Console.WriteLine("\nOrdinal test for equality:");
      if (! TestForEquality(filePath, StringComparison.OrdinalIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);
   }

   private static bool TestForEquality(string str, StringComparison cmp)
   {
      int position = str.IndexOf("://");
      if (position < 0) return false;

      string substring = str.Substring(0, position);  
      return substring.Equals("FILE", cmp);
   }
}
// The example displays the following output:
//       Culture-sensitive test for equality:
//       Access to file://c:/notes.txt is allowed.
//       
//       Ordinal test for equality:
//       Access to file://c:/notes.txt is not allowed.


Normalización

Algunos caracteres Unicode tienen varias representaciones. Por ejemplo, cualquiera de los siguientes puntos de código puede representar la letra "ắ":

  • U+1EAF

  • U+0103 U+0301

  • U+0061 U+0306 U+0301

La existencia de varias representaciones para un carácter individual complica la búsqueda, clasificación, coincidencia y otras operaciones con cadenas.

El estándar Unicode define un proceso denominado normalización, que devuelve una representación binaria de un carácter Unicode para sus representaciones binarias equivalentes. La normalización puede utilizar varios algoritmos, denominados formas de normalización, que siguen reglas diferentes. .NET Framework admite las formas de normalización Unicode C, D, KC y KD. Cuando las cadenas se han normalizado a la misma forma de normalización, se pueden comparar utilizando la comparación ordinal.

Una comparación ordinal es una comparación binaria del valor escalar de Unicode de corresponder los objetos de Char en cada cadena. La clase de String incluye varios métodos que pueden realizar una comparación ordinal, incluidas las siguientes:

Puede determinar si una cadena se normaliza al formato de normalización C llamando al método String.IsNormalized(), o puede llamar al método String.IsNormalized(NormalizationForm) para determinar si una cadena se normaliza a una forma de normalización especificada. También puede llamar al método String.Normalize() para convertir una cadena al formato de normalización C, o puede llamar al método String.Normalize(NormalizationForm) para convertir una cadena al formato de normalización especificado. Para obtener información paso a paso sobre la normalización y la comparación de cadenas, vea los métodos de Normalize() y de Normalize(NormalizationForm) .

El siguiente ejemplo simple muestra normalización de cadenas. Define la letra "ố" de tres maneras diferentes en tres cadenas diferentes y utiliza una comparación ordinal de igualdad para determinar que cada cadena difiere de las otras dos. A continuación, convierte cada cadena en las formas de normalización compatibles y de nuevo realiza una comparación ordinal de cada cadena en una forma de normalización especificada. En cada caso, la segunda prueba para la igualdad muestra que las cadenas son iguales.


using System;
using System.Globalization;
using System.IO;
using System.Text;

public class Example
{
   private static StreamWriter sw;

   public static void Main()
   {
      sw = new StreamWriter(@".\TestNorm1.txt");

      // Define three versions of the same word. 
      string s1 = "sống";        // create word with U+1ED1
      string s2 = "s\u00F4\u0301ng";
      string s3 = "so\u0302\u0301ng";

      TestForEquality(s1, s2, s3);      
      sw.WriteLine();

      // Normalize and compare strings using each normalization form.
      foreach (string formName in Enum.GetNames(typeof(NormalizationForm)))
      {
         sw.WriteLine("Normalization {0}:\n", formName); 
         NormalizationForm nf = (NormalizationForm) Enum.Parse(typeof(NormalizationForm), formName);
         string[] sn = NormalizeStrings(nf, s1, s2, s3);
         TestForEquality(sn);           
         sw.WriteLine("\n");                                        
      }

      sw.Close();   
   }

   private static void TestForEquality(params string[] words)
   {
      for (int ctr = 0; ctr <= words.Length - 2; ctr++)
         for (int ctr2 = ctr + 1; ctr2 <= words.Length - 1; ctr2++) 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words[ctr], ShowBytes(words[ctr]),
                         words[ctr2], ShowBytes(words[ctr2]),
                         words[ctr].Equals(words[ctr2], StringComparison.Ordinal));
   }

   private static string ShowBytes(string str)
   {
      string result = null;
      foreach (var ch in str)
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")); 
      return result.Trim();            
   } 

   private static string[] NormalizeStrings(NormalizationForm nf, params string[] words)
   {
      for (int ctr = 0; ctr < words.Length; ctr++)
         if (! words[ctr].IsNormalized(nf))
            words[ctr] = words[ctr].Normalize(nf); 
      return words;   
   }
}
// The example displays the following output:
//       sống (0073 1ED1 006E 0067) = sống (0073 00F4 0301 006E 0067): False
//       sống (0073 1ED1 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       sống (0073 00F4 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       
//       Normalization FormC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       
//       
//       Normalization FormKC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormKD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True


Para obtener más información sobre la normalización y formas de normalización, vea System.Text.NormalizationFormand, Anexo #15 del estándar Unicode: Formas de normalización Unicode en Preguntas más frecuentes de normalización el sitio Web de unicode.org.

Operaciones de cadena por categoría

La clase String proporciona miembros para comparar cadenas, probar la igualdad entre cadenas, buscar caracteres o subcadenas en una cadena, modificar una cadena, extraer subcadenas de una cadena, combinar cadenas, dar formato a valores, copiar una cadena y normalizar una cadena.

s1wwdcbf.collapse_all(es-es,VS.110).gifComparar cadenas

Puede comparar las cadenas para determinar su posición relativa en el criterio de ordenación utilizando los siguientes métodos String:

  • Compare devuelve un entero que indica la relación de una cadena con una segunda cadena en el criterio de ordenación.

  • CompareOrdinal devuelve un entero que indica la relación de una cadena con una segunda cadena basado en una comparación de sus puntos de código.

  • CompareTo devuelve un entero que indica la relación de la instancia de la cadena actual con una segunda cadena del criterio de ordenación. El método CompareTo(String) proporciona las implementaciones IComparable<T> y IComparable para la clase String.

s1wwdcbf.collapse_all(es-es,VS.110).gifCadenas de la prueba de igualdad

Llame al método Equals para determinar si dos cadenas son equivalentes. La Equals(String, String, StringComparison) de la instancia y las sobrecargas estáticas de Equals(String, StringComparison) permiten especificar si la comparación es sensible a la referencia cultural o es ordinal, y si distingue entre mayúsculas y minúsculas. La mayoría de las pruebas de igualdad son ordinales y las comparaciones de igualdad que determinan el acceso a un recurso del sistema (como un objeto de sistema de archivos) siempre deberían ser ordinales.

s1wwdcbf.collapse_all(es-es,VS.110).gifCaracteres de buscar en una cadena

La clase String incluye dos tipos de métodos de búsqueda:

  • Métodos que devuelven un valor Boolean para indicar si una subcadena determinada se encuentra en una instancia de la cadena. Entre ellos se encuentran los métodos Contains, EndsWith e StartsWith.

  • Métodos que indican la posición inicial de una subcadena en una instancia de la cadena. Entre ellos se encuentran los métodos IndexOf, IndexOfAny, LastIndexOf y LastIndexOfAny.

Nota de precauciónPrecaución

Si desea buscar una cadena para un modelo concreto en lugar de una subcadena concreta, debe usar expresiones regulares. Para obtener más información, vea Expresiones regulares de .NET Framework.

s1wwdcbf.collapse_all(es-es,VS.110).gifModificación de una cadena

La clase String incluye los siguientes métodos que parecen modificar el valor de una cadena:

  • Insert inserta una cadena en la instancia de String actual.

  • PadLeft inserta una o más apariciones de un carácter especificado al principio de una cadena.

  • PadRight inserta una o más apariciones de un carácter especificado al principio de una cadena.

  • Remove elimina una subcadena de la instancia de String actual.

  • Replace reemplaza una subcadena con otra subcadena en la instancia de String actual.

  • [M:System.String.ToLowerM:System.String.ToLowerInvariant] convierte todos los caracteres de una cadena en minúsculas.

  • [M:System.String.ToUpperM:System.String.ToUpperInvariant] convierte todos los caracteres de una cadena en mayúsculas.

  • Trim quita todas las apariciones de un carácter del principio y fin de una cadena.

  • TrimEnd quita todas las apariciones de un carácter del fin de una cadena.

  • TrimStart quita todas las apariciones de un carácter del principio de una cadena.

Nota importanteImportante

Todos los métodos de modificación de cadenas devuelven un nuevo objeto String. No modifican el valor de la instancia actual.

s1wwdcbf.collapse_all(es-es,VS.110).gifExtraer subcadenas de una cadena

El método String.Split separa una cadena única en varias cadenas. Las sobrecargas del método permiten especificar varios delimitadores, determinar el número máximo de subcadenas que el método extrae y determinar si las cadenas vacías (que se producen cuando los delimitadores son adyacentes) se incluyen entre las cadenas devueltas.

s1wwdcbf.collapse_all(es-es,VS.110).gifCombinar cadenas

Los siguientes métodos String se pueden utilizar para la concatenación de cadenas:

  • Concat combina una o más subcadenas en una cadena única.

  • Join concatena una o más subcadenas en un elemento único y agrega un separador entre cada subcadena.

s1wwdcbf.collapse_all(es-es,VS.110).gifConfiguración de formato

El método String.Format utiliza la característica de formato compuesto para reemplazar uno o más marcadores de posición en una cadena con la representación de cadena de algún objeto o valor. El método Format se utiliza a menudo para hacer lo siguiente:

  • Para incrustar la representación de cadena de un valor numérico en una cadena.

  • Para incrustar la representación de cadena de un valor de fecha y hora en una cadena.

  • Para incrustar la representación de cadena de un valor de enumeración en una cadena.

  • Para incrustar la representación de cadena de algún objeto que admita la interfaz IFormattable en una cadena.

  • Para justificar a la derecha o a la izquierda una subcadena en un campo dentro de una cadena mayor.

Para obtener información detallada sobre las operaciones y ejemplos de formato, vea el resumen de la sobrecarga de Format .

s1wwdcbf.collapse_all(es-es,VS.110).gifCopiar una cadena

Puede llamar a los siguientes métodos String para hacer una copia de una cadena:

  • Clone devuelve una referencia a un objeto String existente.

  • Copy crea una copia de una cadena existente.

  • CopyTo copia una porción de una cadena en una matriz de caracteres.

s1wwdcbf.collapse_all(es-es,VS.110).gifNormalizar una cadena

En Unicode, un carácter individual puede tener varios puntos de código. La normalización convierte estos caracteres equivalentes en la misma representación binaria. El método String.Normalize realiza la normalización y el método String.IsNormalized determina si se normaliza una cadena.

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Este tipo es seguro para la ejecución de subprocesos.

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

Mostrar:
© 2015 Microsoft