0Pricing
C# Academy · Lección

StringBuilder, comparación y aspectos culturales

Construya texto extenso eficazmente con StringBuilder y compare cadenas de forma segura mediante StringComparison y API que tienen en cuenta la cultura.

StringBuilder, comparación y aspectos culturales es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.

Descripción general

Objetivo: Crear cadenas grandes de forma eficiente y comparar texto correctamente.

  • StringBuilder para muchas adiciones
  • Comparación Ordinal frente a comparación por cultura
  • Comprobaciones sin distinguir mayúsculas y minúsculas

Conceptos básicos de StringBuilder

Use StringBuilder al concatenar dentro de bucles para reducir las asignaciones.

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    // Build a small CSV with many appends
    StringBuilder sb = new StringBuilder();
    sb.Append("id,name").AppendLine();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append(i).Append(",Item ").Append(i).AppendLine();
    }
    string csv = sb.ToString();
    Console.WriteLine(csv);
  }
}

StringBuilder frente a +

Directriz:

  • Use "a" + b + c para unas pocas partes.
  • Use StringBuilder en bucles o al realizar muchas adiciones.
  • Reutilice la misma instancia del generador dentro del bucle.

Comprobación sin distinguir mayúsculas y minúsculas

Para identificadores (por ejemplo, nombres de archivo y claves), prefiera OrdinalIgnoreCase para evitar resultados inesperados debido a la cultura.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string a = "file";
    string b = "FILE";

    bool ordEq = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    bool ord   = string.Equals(a, b, StringComparison.Ordinal);

    Console.WriteLine("OrdinalIgnoreCase: " + ordEq); // true
    Console.WriteLine("Ordinal (case-sensitive): " + ord); // false
  }
}

Ejemplo de cultura

La cultura afecta a los resultados (por ejemplo, la I turca). Sea explícito: use InvariantCulture para datos e identificadores; use la cultura del usuario para la interfaz.

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string lowerI = "i";

    // Culture-sensitive uppercasing
    string trUpper = lowerI.ToUpper(new CultureInfo("tr-TR"));
    string invUpper = lowerI.ToUpper(CultureInfo.InvariantCulture);

    Console.WriteLine("tr-TR upper(i) = " + trUpper);   // "İ"
    Console.WriteLine("Invariant upper(i) = " + invUpper); // "I"
  }
}

Consejos y elecciones

Consejos:

  • Mantenga StringBuilder en caché dentro del bucle; llame a .ToString() una sola vez al final.
  • Elija OrdinalIgnoreCase para claves, identificadores y nombres de archivo.
  • Elija CurrentCulture para el texto destinado al usuario.

Comparación predeterminada

Comprobación rápida: Para comprobar un nombre de archivo sin distinguir mayúsculas y minúsculas, ¿qué comparación suele ser la opción predeterminada más segura?

Repaso

Repaso: Use StringBuilder para muchas adiciones; elija OrdinalIgnoreCase para los identificadores; use API que tengan en cuenta la cultura para el texto de la interfaz.

Preguntas frecuentes

¿La lección «StringBuilder, comparación y aspectos culturales» es gratis?

Sí — el texto completo de «StringBuilder, comparación y aspectos culturales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.

¿Qué aprenderé en «StringBuilder, comparación y aspectos culturales»?

Construya texto extenso eficazmente con StringBuilder y compare cadenas de forma segura mediante StringComparison y API que tienen en cuenta la cultura. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.

¿Cuánto tiempo toma la lección «StringBuilder, comparación y aspectos culturales»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Strings y texto: inmutabilidad, interpolación, verbatim, StringBuilder y comparación
  2. StringBuilder, comparación y aspectos culturales
  3. char, conceptos básicos de Unicode y análisis/formateo sencillos
← Volver a C# Academy