Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Cadenas en C#: Mejores prácticas y consejos

En C#, puede usar cadenas como array de caracteres, sin embargo, la práctica más común es usar la palabra clave string para declarar una variable de cadena. La palabra clave string es un alias para la clase System.String.

Creación de un objeto String

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

Ejemplo demostrativo:

using System;
namespace AplicaciónString {
    class Program {
        static void Main(string[] args) {
            // Desde literal de cadena y concatenación
            string nombre, apellido;
            nombre = "Rowan";
            apellido = "Atkinson";
            char[] letras = { 'H', 'e', 'l', 'l', 'o' };
            string[] sarray = { "Hello", "From", "Tutorials", "Point" };
            string nombreCompleto = nombre + apellido;
            Console.WriteLine("Nombre completo: {0}", nombreCompleto);
            
            // Usando constructor de string
            string saludos = new string(letras);
            Console.WriteLine("Saludos: {0}", saludos);
            
            // Métodos que devuelven string
            string mensaje = String.Join(" ", sarray);
            Console.WriteLine("Mensaje: {0}", mensaje);
            
            // Método de formato para convertir un valor
            DateTime esperando = new DateTime(2012, 10, 10, 17, 58, 1);
            string chat = String.Format("Mensaje enviado a las {0:t} el {0:D}", esperando);
            Console.WriteLine("Mensaje: {0}", chat);
        }
    }
}

Resultado:

Nombre completo: RowanAtkinson
Saludos: Hello
Mensaje: Hello From Tutorials Point
Mensaje: Mensaje enviado a las 5:58 PM el Wednesday, October 10, 2012

Propiedades de la clase String

Nº Propiedad y descripción
1Chars: Obtiene el objeto Char en una posición especificada en el objeto String actual.
2Length: Obtiene el número de caracteres en el objeto String actual.

Métodos de la clase String

La clase String tiene numerosos métodos. Aquí están los más comúnmente usados:

Nº Método y descripción
1Compare(strA, strB): Compara dos objetos string y devuelve un entero que indica su posición relativa en el orden de clasificación.
2Compare(strA, strB, ignoreCase): Igual que el anterior pero ignora mayúsculas/minúsculas si el parámetro booleano es true.
3Concat(str0, str1): Concatena dos objetos string.
4Concat(str0, str1, str2): Concatena tres objetos string.
5Concat(str0, str1, str2, str3): Concatena cuatro objetos string.
6Contains(value): Indica si el objeto String especificado ocurre dentro de esta cadena.
7Copy(str): Crea un nuevo objeto String con el mismo valor que la cadena especificada.
8CopyTo(sourceIndex, destination, destinationIndex, count): Copia caracteres de un String a un array de caracteres Unicode.
9EndsWith(value): Determina si el final de la cadena coincide con la cadena especificada.
10Equals(value): Determina si el String actual y el especificado tienen el mismo valor.
11Equals(a, b) (estático): Determina si dos objetos String especificados tienen el mismo valor.
12Format(format, arg0): Reemplaza elementos de formato en una cadena con la representación de un objeto.
13IndexOf(char value): Devuelve el índice base cero de la primera ocurrencia del carácter Unicode especificado.
14IndexOf(string value): Devuelve el índice base cero de la primera ocurrencia de la cadena especificada.
15IndexOf(char value, startIndex): Índice de la primera ocurrencia del carácter, comenzando la búsqueda en startIndex.
16IndexOf(string value, startIndex): Índice de la primera ocurrencia de la cadena, comenzando en startIndex.
17IndexOfAny(anyOf): Índice de la primera ocurrencia de cualquier carácter en un array especificado.
18IndexOfAny(anyOf, startIndex): Igual que anterior pero comenzando en startIndex.
19Insert(startIndex, value): Devuelve una nueva cadena con la cadena especificada insertada en el índice especificado.
20IsNullOrEmpty(value): Indica si la cadena especificada es null o vacía.
21Join(separator, params value[]): Concatena todos los elementos de un array de cadenas usando el separador especificado.
22Join(separator, value[], startIndex, count): Concatena elementos especificados de un array de cadenas.
23LastIndexOf(char value): Índice base cero de la última ocurrencia del carácter Unicode especificado.
24LastIndexOf(string value): Índice base cero de la última ocurrencia de la cadena especificada.
25Remove(startIndex): Elimina todos los caracteres desde la posición especificada hasta el final.
26Remove(startIndex, count): Elimina el número especificado de caracteres desde la posición especificada.
27Replace(oldChar, newChar): Reemplaza todas las ocurrencias de un carácter Unicode por otro.
28Replace(oldValue, newValue): Reemplaza todas las ocurrencias de una cadena por otra.
29Split(params separator[]): Devuelve un array de subcadenas delimitadas por elementos de un array de caracteres Unicode.
30Split(separator, count): Igual que anterior pero con máximo número de subcadenas a devolver.
31StartsWith(value): Determina si el inicio de la cadena coincide con la cadena especificada.
32ToCharArray(): Devuelve un array de caracteres Unicode con todos los caracteres de la cadena.
33ToCharArray(startIndex, length): Array de caracteres desde el índice especificado hasta la longitud especificada.
34ToLower(): Devuelve una copia de la cadena convertida a minúsculas.
35ToUpper(): Devuelve una copia de la cadena convertida a mayúsculas.
36Trim(): Elimina todos los espacios en blanco iniciales y finales.

Para la lista completa de métodos y constructores, consulte la documentación de Microsoft (MSDN).

Ejemplos

Comparación de cadenas

using System;
namespace AplicaciónString {
    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 + " y " + str2 + " son iguales.");
            } else {
                Console.WriteLine(str1 + " y " + str2 + " no son iguales.");
            }
            Console.ReadKey();
        }
    }
}

Resultado: This is test y This is text no son iguales.

Cadena contiene subcadena

using System;
namespace AplicaciónString {
    class StringProg {
        static void Main(string[] args) {
            string str = "This is test";
            if (str.Contains("test")) {
                Console.WriteLine("La secuencia 'test' fue encontrada.");
            }
            Console.ReadKey();
        }
    }
}

Resultado: La secuencia 'test' fue encontrada.

Obtener una subcadena

using System;
namespace AplicaciónString {
    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);
        }
    }
}

Resultado: San Pedro

Unir cadenas

using System;
namespace AplicaciónString {
    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);
        }
    }
}

Resultado: Cada cadena en una línea separada.

Lenguaje C

  1. Clases y objetos en C#: Fundamentos para POO robusta
  2. Dominando strings en C#: Fundamentos, operaciones y técnicas avanzadas
  3. Dominando funciones de cadena en C++: strcpy, strcat, strlen, strcmp – Ejemplos prácticos
  4. Cadenas en C hechas fáciles: Declaración, entrada, salida y funciones de biblioteca
  5. Domine las Operaciones de Strings en Python: Replace, Join, Split, Reverse y Conversión de Mayúsculas/Minúsculas
  6. Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
  7. Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
  8. Dominando representaciones String en Enums de Java
  9. Clase String en Java: Dominando Creación y Manipulación de Cadenas
  10. Serialización de Objetos en Java: Persistencia y Restauración de Objetos
  11. Resumen de Java 8: Nuevas APIs Funcionales, Streaming y Date-Time