C# Cadena (String)

En C#, puede utilizar matrices de caracteres para representar cadenas, pero la práctica más común es utilizarstringla palabra clave para declarar una variable de cadena. La palabra clave string esSystem.Stringun alias de la clase.

Crear un objeto String

Puede crear un objeto string utilizando uno de los siguientes métodos:

  • Asignando una cadena a una variable String
  • Utilizando el constructor de la clase String
  • Utilizando el operador de concatenación de cadenas (+)
  • Recuperando una propiedad o llamando a un método que devuelve una cadena
  • Utilizando un método de formato para convertir un valor u objeto en su representación de cadena

El siguiente ejemplo demuestra esto:

Ejemplo

using System;

namespace StringApplication
{
    class Program
    {
        static void Main(string[] args)
        {
           //Cadena, concatenación de cadenas
            string fname, lname;
            fname = "Rowan";
            lname = "Atkinson";

            string fullname = fname + lname;
            Console.WriteLine("Full Name: {0}", fullname);

            //Usando el constructor string
            char[] letters = { 'H', 'e', 'l', 'l','o' };
            string greetings = new string(letters);
            Console.WriteLine("Greetings: {0}", greetings);

            //El método devuelve una cadena
            string[] sarray = { "Hello", "From", "Tutorials", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Message: {0}", message);

            //Método de formato para convertir valores
            DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Message sent at {0:t} on {0:D}",
            waiting);
            Console.WriteLine("Message: {0}", chat);
            Console.ReadKey() ;
        }
    }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 17:58 on Wednesday, 10 October 2012

Propiedades de la clase String

La clase String tiene las siguientes dos propiedades:

N.ºNombre de la propiedad & descripción
1Chars
En elStringobjeto, obtenerCharla posición especificada del objeto.
2Length
En el actualStringobjeto, obtener el número de caracteres.

Métodos de la clase String

La clase String tiene muchos métodos para operar con objetos string. La siguiente tabla proporciona algunos de los métodos más utilizados:

N.ºNombre del método & descripción
1public static int Compare( string strA, string strB )
Compara dos objetos string especificados y devuelve un entero que indica su posición relativa en el orden de clasificación. Este método distingue entre mayúsculas y minúsculas.
2public static int Compare( string strA, string strB, bool ignoreCase )
Compara dos objetos string especificados y devuelve un entero que indica su posición relativa en el orden de clasificación. Sin embargo, si el parámetro booleano es verdadero, el método no distingue entre mayúsculas y minúsculas.
3public static string Concat( string str0, string str1 )
Concatena dos objetos string.
4public static string Concat( string str0, string str1, string str2 )
Concatena tres objetos string.
5public static string Concat( string str0, string str1, string str2, string str3 )
Concatena cuatro objetos string.
6public bool Contains( string value )
Devuelve un valor que indica si un objeto string especificado aparece en la cadena.
7public static string Copy( string str )
Crea un nuevo objeto String con el mismo valor que la cadena especificada.
8public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
Copia un número especificado de caracteres desde una posición especificada en un objeto string a una posición especificada en una matriz de caracteres Unicode.
9public bool EndsWith( string value )
Determina si el final de un objeto string coincide con la cadena especificada.
10public bool Equals( string value )
Determina si el objeto string actual tiene el mismo valor que el objeto string especificado.
11public static bool Equals( string a, string b )
Determina si dos objetos string especificados tienen el mismo valor.
12public static string Format( string format, Object arg0 )
Reemplaza uno o más elementos de formato en la cadena especificada por la representación de cadena del objeto especificado.
13public int IndexOf( char value )
Devuelve el índice de la primera aparición del carácter Unicode especificado en la cadena actual, comenzando desde 0.
14public int IndexOf( string value )
Devuelve el índice de la primera aparición de la cadena especificada en esta instancia, comenzando desde 0.
15public int IndexOf( char value, int startIndex )
Devuelve el índice de la primera aparición del carácter Unicode especificado, buscando desde una posición de carácter especificada en esta cadena, comenzando desde 0.
16public int IndexOf( string value, int startIndex )
Devuelve el índice de la primera aparición de la cadena especificada, buscando desde una posición de carácter especificada en esta instancia, comenzando desde 0.
17public int IndexOfAny( char[] anyOf )
Devuelve el índice de la primera aparición de cualquier carácter de una matriz de caracteres Unicode especificada en esta instancia, comenzando desde 0.
18public int IndexOfAny( char[] anyOf, int startIndex )
Devuelve el índice de la primera aparición de cualquier carácter de una matriz de caracteres Unicode especificada, buscando desde una posición de carácter especificada en esta instancia, comenzando desde 0.
19public string Insert( int startIndex, string value )
Devuelve una nueva cadena en la que la cadena especificada se inserta en la posición de índice especificada del objeto string actual.
20public static bool IsNullOrEmpty( string value )
Indica si la cadena especificada es null o una cadena vacía.
21public static string Join( string separator, string[] value )
Concatena todos los elementos de una matriz de cadenas, usando el separador especificado para separar cada elemento.
22public static string Join( string separator, string[] value, int startIndex, int count )
Concatena los elementos especificados de una matriz de cadenas a partir de una posición especificada, usando el separador especificado para separar cada elemento.
23public int LastIndexOf( char value )
Devuelve la posición de índice de la última aparición del carácter Unicode especificado en el objeto string actual, comenzando desde 0.
24public int LastIndexOf( string value )
Devuelve la posición de índice de la última aparición de la cadena especificada en el objeto string actual, comenzando desde 0.
25public string Remove( int startIndex )
Elimina todos los caracteres de la instancia actual, desde la posición especificada hasta la última posición, y devuelve la cadena.
26public string Remove( int startIndex, int count )
Elimina un número especificado de caracteres desde una posición especificada de la cadena actual y devuelve la cadena.
27public string Replace( char oldChar, char newChar )
Reemplaza todos los caracteres Unicode especificados en el objeto string actual por otro carácter Unicode especificado y devuelve una nueva cadena.
28public string Replace( string oldValue, string newValue )
Reemplaza todas las cadenas especificadas en el objeto string actual por otra cadena especificada y devuelve una nueva cadena.
29public string[] Split( params char[] separator )
Devuelve una matriz de cadenas que contiene las subcadenas del objeto string actual, separadas por elementos de la matriz de caracteres Unicode especificada.
30public string[] Split( char[] separator, int count )
Devuelve una matriz de cadenas que contiene las subcadenas del objeto string actual, separadas por elementos de la matriz de caracteres Unicode especificada. El parámetro int especifica el número máximo de subcadenas a devolver.
31public bool StartsWith( string value )
Determina si el inicio de la instancia de cadena coincide con la cadena especificada.
32public char[] ToCharArray()
Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto string actual.
33public char[] ToCharArray( int startIndex, int length )
Devuelve una matriz de caracteres Unicode con todos los caracteres del objeto string actual, desde el índice especificado hasta la longitud especificada.
34public string ToLower()
Convierte la cadena a minúsculas y la devuelve.
35public string ToUpper()
Convierte la cadena a mayúsculas y la devuelve.
36public string Trim()
Elimina todos los caracteres de espacio en blanco iniciales y finales del objeto String actual.

La lista de métodos anterior no es exhaustiva. Visite la biblioteca MSDN para ver la lista completa de métodos y los constructores de la clase String.

Ejemplo

El siguiente ejemplo demuestra algunos de los métodos mencionados anteriormente:

Comparar cadenas

Ejemplo

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str1 = "This is test";
         string str2 = "This is text";

         if (String.Compare(str1, str2) == 0)
         {
            Console.WriteLine(str1 + " and " + str2 +  " are equal.");
         }
         else
         {
            Console.WriteLine(str1 + " and " + str2 + " are not equal.");
         }
         Console.ReadKey() ;
      }
   }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

This is test and This is text are not equal.

Cadena contiene cadena:

Ejemplo

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string str = "This is test";
         if (str.Contains("test"))
         {
            Console.WriteLine("The sequence 'test' was found.");
         }
         Console.ReadKey() ;
      }
   }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

The sequence 'test' was found.

Obtener subcadena:

Ejemplo

using System;
namespace StringApplication
{
        class StringProg
        {
                static void Main(string[] args)
                {
                        string str = "Last night I dreamt of San Pedro";
                        Console.WriteLine(str);
                        string substr = str.Substring(23);
                        Console.WriteLine(substr);
                        Console.ReadKey() ;
                }
        }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

Last night I dreamt of San Pedro
San Pedro

Concatenar cadenas:

Ejemplo

using System;

namespace StringApplication
{
   class StringProg
   {
      static void Main(string[] args)
      {
         string[] starray = new string[]{"Down the way nights are dark",
         "And the sun shines daily on the mountain top",
         "I took a trip on a sailing ship",
         "And when I reached Jamaica",
         "I made a stop"};

         string str = String.Join("\n", starray);
         Console.WriteLine(str);
         Console.ReadKey() ;
      }
   }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop
Otras extensiones