C# | Clase de string – Part 1

En C#, una string es una secuencia de caracteres Unicode o una array de caracteres.

El rango de caracteres Unicode será de U+0000 a U+FFFF . La array de caracteres también se denomina texto. Entonces la string es la representación del texto. Una string está representada por una clase System.String .
La clase String se define en la biblioteca de clases base de .NET . En otras palabras, un objeto String es una colección secuencial de objetos System.Char que representan una string. El tamaño máximo del objeto String en la memoria puede ser de 2 GB o alrededor de mil millones de caracteres .

Características de la clase de string:

  • La clase System.String es inmutable, es decir, una vez creada, su estado no se puede modificar.
  • Con la ayuda de la propiedad de longitud, proporciona el número total de caracteres presentes en la string dada.
  • Los objetos de string pueden incluir un carácter nulo que cuenta como parte de la longitud de la string.
  • Proporciona la posición de los caracteres en la string dada.
  • Permite strings vacías. Las strings vacías son la instancia válida de los objetos String que contienen cero caracteres.
  • Una string que se ha declarado pero no se le ha asignado un valor es nula. Intentar llamar a métodos en esa string arroja una NullReferenceException .
  • También admite la búsqueda de strings, la comparación de strings, la prueba de igualdad, la modificación de strings, la normalización de strings, la copia de strings, etc.
  • También proporciona varias formas de crear strings, como usar un constructor, usar concatenación, etc.

Constructor

Constructor Descripción
String (Carácter *) Inicializa una nueva instancia de la clase String en el valor indicado por un puntero especificado a una array de caracteres Unicode.
String (Carácter*, Int32, Int32) Inicializa una nueva instancia de la clase String en el valor indicado por un puntero especificado a una array de caracteres Unicode, una posición de carácter inicial dentro de esa array y una longitud.
String (Carácter, Int32) Inicializa una nueva instancia de la clase String con el valor indicado por un carácter Unicode especificado repetido una cantidad específica de veces.
String (Carácter[]) Inicializa una nueva instancia de la clase String con el valor indicado por una array de caracteres Unicode.
String (Carácter[], Int32, Int32) Inicializa una nueva instancia de la clase String con el valor indicado por una array de caracteres Unicode, una posición de carácter inicial dentro de esa array y una longitud.
String (SByte*) Inicializa una nueva instancia de la clase String con el valor indicado por un puntero a una array de enteros de 8 bits con signo.
String (SByte*, Int32, Int32) Inicializa una nueva instancia de la clase String en el valor indicado por un puntero especificado a una array de enteros con signo de 8 bits, una posición inicial dentro de esa array y una longitud.
String (SByte*, Int32, Int32, Codificación) Inicializa una nueva instancia de la clase String en el valor indicado por un puntero especificado a una array de enteros con signo de 8 bits, una posición inicial dentro de esa array, una longitud y un objeto de codificación.

Ejemplo:

// C# program to demonstrate the creation
// of string using the constructor
using System;
class Geeks {
  
    // Main Method
    public static void Main()
    {
        char[] chars = { 'G', 'E', 'E', 'K', 'S' };
  
        // Create a string from a character array.
        string str1 = new string(chars);
        Console.WriteLine(str1);
  
        // Create a string that consists of
        // a character repeated 5 times.
        string str2 = new string('E', 5);
        Console.WriteLine(str2);
    }
}
Producción:

GEEKS
EEEEE

Propiedades

Propiedad Descripción
Caracteres[Int32] Obtiene el objeto Char en una posición especificada en el objeto String actual.
Longitud Obtiene el número de caracteres del objeto String actual.

Ejemplo:

// C# program to demonstrate the
// String Class Properties
using System;
  
class Geeks {
   
    // Main Method
    public static void Main()
    {
        string str = "GeeksforGeeks";
          
        // using Chars[Int32] & Length property
        for (int i = 0; i <= str.Length - 1; i++)
            Console.Write("{0} ", str[i]);
    }
}
Producción:

G e e k s f o r G e e k s

Métodos

Método Descripción
Clon() Devuelve una referencia a esta instancia de String.
Comparar() Se utiliza para comparar los dos objetos de string.
CompararOrdinal(String, Int32, String, Int32, Int32) Compara substrings de dos objetos String especificados evaluando los valores numéricos de los objetos Char correspondientes en cada substring.
CompararOrdinal(String, String) Compara dos objetos String especificados evaluando los valores numéricos de los objetos Char correspondientes en cada string.
Comparar con() Compara la instancia actual con un objeto Object o String especificado.
concat() Concatena una o más instancias de String, o las representaciones de String de los valores de una o más instancias de Object.
Contiene (String) Devuelve un valor que indica si una substring especificada se encuentra dentro de esta string.
Copiar (string) Crea una nueva instancia de String con el mismo valor que un String especificado.
Copiar a (Int32, Char[], Int32, Int32) Copia un número específico de caracteres desde una posición específica en esta instancia a una posición específica en una array de caracteres Unicode.
Termina con() Determina si el final de esta instancia de string coincide con una string especificada.
Iguales() Determina si dos objetos String tienen el mismo valor.
Formato() Convierte el valor de los objetos en strings según los formatos especificados y los inserta en otra string.
ObtenerEnumerador() Recupera un objeto que puede iterar a través de los caracteres individuales de esta string.
Obtener código hash() Devuelve el código hash de esta string.
ObtenerTipo() Obtiene el Tipo de la instancia actual.
(Heredado de Objeto)
ObtenerCódigoTipo() Devuelve el TypeCode para la clase String.
Índice de() Informa el índice de base cero de la primera aparición de un carácter o string Unicode especificado dentro de esta instancia. El método devuelve -1 si el carácter o la string no se encuentra en esta instancia.
ÍndiceDeCualquiera() Informa el índice de la primera aparición en esta instancia de cualquier carácter en una array específica de caracteres Unicode. El método devuelve -1 si los caracteres de la array no se encuentran en esta instancia.
Insertar (Int32, String) Devuelve una nueva string en la que se inserta una string especificada en una posición de índice especificada en esta instancia.
Interno(String) Recupera la referencia del sistema a la string especificada.
Estáinternado(String) Recupera una referencia a una string especificada.
EstáNormalizado() Indica si esta string está en una forma de normalización Unicode particular.
EsNuloOVacío(String) Indica si la string especificada es nula o una string vacía.
EsNuloOEspacioBlanco(String) Indica si una string especificada es nula, está vacía o consta solo de caracteres de espacio en blanco.
Unirse() Concatena los elementos de una array especificada o los miembros de una colección, utilizando el separador especificado entre cada elemento o miembro.
ÚltimoÍndiceDe() Informa de la posición del índice de base cero de la última aparición de un carácter o string Unicode especificado dentro de esta instancia. El método devuelve -1 si el carácter o la string no se encuentra en esta instancia.
MemberwiseClone() Crea una copia superficial del objeto actual.
(Heredado de Objeto)
Normalizar() Devuelve una nueva string cuya representación binaria está en una forma de normalización Unicode particular.
PadIzquierda() Devuelve una nueva string de una longitud especificada en la que el comienzo de la string actual se rellena con espacios o con un carácter Unicode especificado.
AlmohadillaDerecha() Devuelve una nueva string de una longitud especificada en la que el final de la string actual se rellena con espacios o con un carácter Unicode especificado.
Remover() Devuelve una nueva string en la que se elimina un número específico de caracteres de la string actual.
Reemplazar() Devuelve una nueva string en la que todas las apariciones de un carácter Unicode o String especificados en la string actual se reemplazan por otro carácter Unicode o String especificado.
Separar() Devuelve una array de strings que contiene las substrings en esta instancia que están delimitadas por elementos de una string especificada o una array de caracteres Unicode.
Comienza con (string) Determina si el comienzo de esta instancia de string coincide con una string especificada.
Substring (Int32) Recupera una substring de esta instancia.
ToCharArray() Copia los caracteres de esta instancia en una array de caracteres Unicode.
Reducir() Devuelve una copia de esta string convertida a minúsculas.
ParaLowerInvariant() Devuelve una copia de este objeto String convertido a minúsculas usando las reglas de mayúsculas y minúsculas de la referencia cultural invariable.
Enstringr() Convierte el valor de esta instancia en una string.
HaciaSuperior() Devuelve una copia de esta string convertida a mayúsculas.
AInvarianteSuperior() Devuelve una copia de este objeto String convertido a mayúsculas mediante las reglas de mayúsculas y minúsculas de la referencia cultural invariable.
Recortar() Devuelve una nueva string en la que se eliminan todas las ocurrencias iniciales y finales de un conjunto de caracteres especificados del objeto String actual.
TrimEnd(Char[]) Elimina todas las ocurrencias finales de un conjunto de caracteres especificado en una array del objeto String actual.
TrimStart(Char[]) Elimina todas las ocurrencias principales de un conjunto de caracteres especificado en una array del objeto String actual.

Ejemplo:

// C# program to illustrate
// String class methods
using System;
   
class GFG {
      
    static void copymethod()
    {
        string str1 = "GeeksforGeeks";
        string str2 = "geeks";
        Console.WriteLine("Original Strings: str1 = "
                              + "'{0}' and str2 ='{1}'",
                          str1, str2);
   
        Console.WriteLine("");
   
        Console.WriteLine("After Copy method");
        Console.WriteLine("");
   
        // using the Copy method
        // to copy the value of str1
        // into str2
        str2 = String.Copy(str1);
   
        Console.WriteLine("Strings are str1 = "
                              + "'{0}' and str2='{1}'",
                          str1, str2);
    }
      
   
    // Main method
    static public void Main()
    {
   
        // variables
        string str1 = "geeksforgeeks";
        string str2 = "geeksforgeeks";
   
        bool result;
   
        // Compare(string, string) method return true
        // because the given strings are equal
        result = String.Compare(str1, str2) == 0;
   
        Console.WriteLine("Result of Compare Method: " +result);
          
        // calling method
        copymethod();
    }
}
Producción:

Result of Compare Method: True
Original Strings: str1 = 'GeeksforGeeks' and str2 ='geeks'

After Copy method

Strings are str1 = 'GeeksforGeeks' and str2='GeeksforGeeks'

Operadores

Operador Descripción
Igualdad (string, string) Determina si dos strings especificadas tienen el mismo valor.
Desigualdad (String, String) Determina si dos strings especificadas tienen valores diferentes.

Ejemplo:

// C# program to illustrate the
// Equality and Inequality operator
using System;
  
class GFG {
  
    // Main Method
    public static void Main(string[] args)
    {
        string s1 = "WelcomeToGeeks";
        string s2 = "WelcomeToGeeks";
        bool result1, result2;
  
        // Equality operator return true
        // as both string are equal
        result1 = s1 == s2;
  
        // Inequality operator return false
        // as both string are equal
        result2 = s1 != s2;
  
        Console.WriteLine(result1);
        Console.WriteLine(result2);
    }
}
Producción:

True
False

Referencia:

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *