Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Personas que lo han encontrado útil: 1 de 1 - Valorar este tema

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 FrameworkString(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifString(Char[])Inicializa una nueva instancia de la clase String en 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 FrameworkString(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 FrameworkString(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 FrameworkString(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 de carácter 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 de carácter inicial dentro de dicha matriz, una longitud y un objeto Encoding.
Arriba
  NombreDescripción
Propiedad públicaCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCharsObtiene el objeto Char situado en una posición específica en el objeto String actual.
Propiedad públicaCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLengthObtiene 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 FrameworkCompare(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCompare(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áticos1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCompare(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 FrameworkCompare(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCompare(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCompareOrdinal(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCompareOrdinal(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 esta instancia precede o sigue al Object especificado o aparece en la misma posición que él en el criterio de ordenación.
Método públicoCompatible con XNA FrameworkCompareTo(String)Compara esta instancia con un objeto String especificado e indica si esta instancia precede o sigue al objeto String especificado o aparece en la misma posición que él en el criterio de ordenación.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(Object)Crea la representación de cadena de un objeto especificado.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(Object[])Concatena las representaciones de cadena de los elementos en una matriz Object especificada.
Método públicoMiembro estáticoConcat(IEnumerable<String>)Concatena los miembros de una colección IEnumerable<T> construida de tipo String.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(String[])Concatena los elementos en una matriz String especificada.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(Object, Object)Concatena las representaciones de cadena de dos objetos especificados.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(String, String)Concatena dos instancias de String especificadas.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(Object, Object, Object)Concatena las representaciones de cadena de tres objetos especificados.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifConcat(String, String, String, String)Concatena cuatro instancias especificadas de String.
Método públicoMiembro estáticoConcat<T>(IEnumerable<T>)Concatena los miembros de una implementación de IEnumerable<T>.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifContainsDevuelve un valor que indica si el objeto String especificado 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifCopyToCopia 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 FrameworkEndsWith(String)Determina si el final de esta instancia de cadena coincide con la cadena especificada.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEndsWith(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEquals(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEquals(String)Determina si esta instancia y otro objeto String especificado tienen el mismo valor.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEquals(String, String)Determina si dos objetos String especificados tienen el mismo valor.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEquals(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEquals(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 protegidoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoMiembro estáticoCompatible con XNA FrameworkFormat(String, Object)Reemplaza uno o más elementos de formato en una cadena especificada por la representación de cadena de un objeto especificado.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifFormat(String, Object[])Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en una matriz especificada.
Método públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifFormat(IFormatProvider, String, Object[])Reemplaza el elemento de formato en una cadena especificada por la representación de cadena de un objeto correspondiente en una matriz especificada. Un parámetro especificado 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 en 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifGetHashCodeDevuelve el código hash para esta cadena. (Invalida a Object.GetHashCode()).
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifGetType Obtiene el Typede 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(Char)Devuelve el índice de la primera aparición del carácter Unicode especificado en esta cadena.
Método públicoCompatible con XNA FrameworkIndexOf(String)Indica el índice de la primera aparición de la cadena especificada en la instancia en cuestión.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(Char, Int32)Devuelve el índice 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 FrameworkIndexOf(String, Int32)Indica el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(String, StringComparison)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(Char, Int32, Int32)Devuelve el índice 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 FrameworkIndexOf(String, Int32, Int32)Indica el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(String, Int32, StringComparison)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOf(String, Int32, Int32, StringComparison)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOfAny(Char[])Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOfAny(Char[], Int32)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIndexOfAny(Char[], Int32, Int32)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifInsertInserta una instancia especificada de String en una posición de índice especificada de la 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifIsNullOrEmptyIndica si el valor de la cadena especificada es null o una cadena de tipo Empty.
Método públicoMiembro estáticoIsNullOrWhiteSpaceIndica si la cadena especificada es null, está vacía o consta únicamente de caracteres de espacio en blanco.
Método públicoMiembro estáticoJoin(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áticoJoin(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifJoin(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifJoin(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áticoJoin<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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(Char)Devuelve la posición de índice de la última aparición de un carácter Unicode especificado en la instancia.
Método públicoCompatible con XNA FrameworkLastIndexOf(String)Indica la posición de índice de la última aparición de una cadena especificada en la instancia en cuestión.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(Char, Int32)Devuelve la posición de índice de la última aparición de un carácter Unicode especificado en la instancia. La búsqueda comienza en una posición de carácter especificada.
Método públicoCompatible con XNA FrameworkLastIndexOf(String, Int32)Indica la posición de índice de la última aparición de una 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(String, StringComparison)Devuelve el índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(Char, Int32, Int32)Devuelve la posición de índice de la última aparición del carácter Unicode especificado en una subcadena de la instancia. 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 FrameworkLastIndexOf(String, Int32, Int32)Indica la posición de índice de la última aparición de una 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(String, Int32, StringComparison)Devuelve el índice de la última aparición de una cadena especificada dentro del 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOf(String, Int32, Int32, StringComparison)Indica la posición de índice de la última aparición de una cadena especificada en la instancia en cuestión. 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOfAny(Char[])Devuelve la posición de índice 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOfAny(Char[], Int32)Devuelve la posición de índice de la última aparición en la instancia de uno o varios caracteres especificados de una matriz de caracteres Unicode. La búsqueda comienza en una posición de carácter especificada.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifLastIndexOfAny(Char[], Int32, Int32)Devuelve la posición de índice de la última aparición en la instancia de uno o varios caracteres especificados de una matriz de caracteres Unicode. La búsqueda comienza en una posición de carácter especificada y examina un número especificado de posiciones de caracteres.
Método protegidoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifPadLeft(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifPadLeft(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifPadRight(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifPadRight(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úblicoRemove(Int32)Elimina todos los caracteres de esta cadena, a partir de una posición especificada y hasta la última posición.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifRemove(Int32, Int32)Elimina un número de caracteres especificado de la instancia a partir de una posición especificada.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifReplace(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifReplace(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifSplit(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úblicoSplit(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úblicos1wwdcbf.PortableClassLibrary(es-es,VS.100).gifSplit(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úblicos1wwdcbf.PortableClassLibrary(es-es,VS.100).gifSplit(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úblicoSplit(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úblicoSplit(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 FrameworkStartsWith(String)Determina si el principio de esta instancia de cadena coincide con la cadena especificada.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifStartsWith(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifSubstring(Int32)Recupera una subcadena de la instancia. La subcadena comienza en una posición de carácter especificada.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifSubstring(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifToCharArray()Copia los caracteres de la instancia en una matriz de caracteres Unicode.
Método públicoToCharArray(Int32, Int32)Copia los caracteres de una subcadena especificada de la instancia en una matriz de caracteres Unicode.
Método públicoCompatible con XNA FrameworkToLower()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úblicos1wwdcbf.PortableClassLibrary(es-es,VS.100).gifToLowerInvariantDevuelve 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifToString()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 FrameworkToUpper()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úblicos1wwdcbf.PortableClassLibrary(es-es,VS.100).gifToUpperInvariantDevuelve 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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifTrim()Quita todos los caracteres de espacio en blanco del principio y el final del objeto String actual.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifTrim(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 Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifTrimEndQuita todas las apariciones del final de un conjunto de caracteres especificados en una matriz del objeto String actual.
Método públicoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifTrimStartQuita todas las apariciones del final de un conjunto de caracteres especificados en una matriz del objeto String actual.
Arriba
  NombreDescripción
Operador públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEqualityDetermina si dos cadenas especificadas tienen el mismo valor.
Operador públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifInequalityDetermina 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úblicoAsParallel()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úblicoAsQueryable()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 FrameworkCast<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 claves especificada y compara las claves usando un comparador indicado. (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 una correlación entre los elementos de dos secuencias en función de la coincidencia de sus claves. 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. Relaciona los elementos 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 FrameworkOfType<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 siempre 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ú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 y el comparador de claves especificados. (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ú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>Combina dos secuencias utilizando la función de predicado especificada. (Definido por Enumerable).
Arriba
  NombreDescripción
Campo públicoMiembro estáticoCompatible con XNA Frameworks1wwdcbf.PortableClassLibrary(es-es,VS.100).gifEmptyRepresenta la cadena vacía. Este campo es de sólo lectura.
Arriba
  NombreDescripció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 FrameworkIEnumerable.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 Inmutabilidad y la clase StringBuilder la sección.

Crear instancias de un objeto de cadena

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.

    
    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. En el siguiente ejemplo se utiliza la característica Formatos compuestos para incrustar 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.      
    
    
    

Volver a los comentarios

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 cómo normalizar las cadenas, consulte la sección Normalization).

    
    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. Los puntos de código de suplentes altos van de U+D800 a U+DBFF. Los puntos de código de suplentes bajos van de U+DC00 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
    
    
    

Volver a los comentarios

Cadenas y caracteres null 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.

Volver a los comentarios

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. 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


Volver a los comentarios

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));
   }                                   
}


Volver a los comentarios

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 la manipulación de cadenas que realizan sumas o eliminaciones repetidas a lo que parece ser una cadena única pueden extraer una reducción de 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();
   }
}


Volver a los comentarios

Ordinal frente aOperaciones que tienen en cuenta la referencia cultural

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 sólo 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 para casing, parsing and formatting, comparison and sortingy testing for equality pueden ser ordinales o dependientes de la referencia cultural. En las siguientes secciones se explica cada categoría de operación.

Mayú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. 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 


Analizar y dar 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


Comparación y orden de 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 muestra el ejemplo siguiente, si la referencia cultural actual es americana Inglés, la primera llamada al método String.Compare(String, String, StringComparison) (usando la comparación dependiente de la referencia cultural) considera "a" menor que "A", pero la segunda llamada al mismo método (usando 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 String que comparan dos cadenas mediante reglas de ordenación de palabras, vea la sección String Operations by Category.

  • 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 String que comparan dos cadenas mediante reglas de ordenación ordinal, vea la sección String Operations by Category.

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. Una comparación dependiente de la referencia cultural normalmente es adecuada para ordenar, al contrario de lo que ocurre con una comparación de ordinales. Por lo común, una comparación de ordinales es adecuada para determinar si dos cadenas son idénticas (esto es, para determinar su igualdad), lo que no sucede con las comparaciones dependientes de la referencia cultural.

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, ordenación, grafía, normalización y la información del carácter Unicode se sincronizan con Windows 7 y cumple el estándar Unicode 5.1.

Para obtener más información sobre las reglas de ordenación de palabras, cadenas y ordinales, vea el tema System.Globalization.CompareOptions. Para obtener recomendaciones sobre cuándo usar 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. En el siguiente ejemplo se realizan cuatro operaciones de ordenación diferentes (ordenar palabras utilizando la referencia cultural actual, ordenar palabras utilizando la referencia cultural de todos los idiomas, ordenación ordinal y ordenación por cadena mediante la referencia cultural de todos los idiomas) sin llamar explícitamente a un método de comparación de cadenas. 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


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


Comprobar la 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 de la instancia o el método Equals 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.


Volver a los comentarios

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. Para obtener más información sobre la normalización y formas de normalización, vea System.Text.NormalizationForm.

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.

En el siguiente ejemplo, se muestra la 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


Volver a los comentarios

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.

Comparar 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 proporciona las implementaciones IComparable<T> y IComparable para la clase String.

Probar la igualdad de las cadenas

Llame al método Equals para determinar si dos cadenas son equivalentes. La Equals de la instancia y las sobrecargas estáticas de Equals 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.

Encontrar caracteres 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.

Modificar 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.

Extraer las 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.

Combinar 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.

Dar formato a valores

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.

Copiar 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.

Normalizar 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.

Volver a los comentarios

.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.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.

date

Historial

Motivo

Julio de 2010

Revisada extensamente la segundo la mitad de la sección Notas.

Mejora de la información.

Junio de 2010

Revisado extensamente la primera mitad de la sección Notas.

Mejora de la información.

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.