DEV Community

loading...
Cover image for 3 formas de Concatenar String con C#

3 formas de Concatenar String con C#

Verónica Guamán
Ingeniera en Sistemas apasionada por la tecnología, el desarrollo de software en especial Desarrollo Web. || .Net Developer | Backend | C# | Speaker
Updated on ・3 min read

Para iniciar vamos a definir que es concatenar y como la usamos en la programación.

Concatenación es la acción de encadenar conceptos para crear una secuencia, en programación es unir o anexar cadenas, una después de otra.

Al programar en varias ocasiones vamos a necesitar unir cadenas, strings, o diferente tipos de variables, strings con numeros, fechas, etc.

En C Sharp (C#) tenemos varias opciones para realizar concatenaciones.

  • String.Format
  • String.Concat
  • String.Join o
  • StringBuilder.Append
  • El operador "+"
  • Interpolación

En este post vamos a tratar los 3 principales.

Alt Text

1. Operador "+"
Este es sin duda el más popular, el que nos enseñaron por primera vez cuando aprendimos a programar, y lo hemos usado muchas veces.
Es fácil de usar y genera código entendible.
Este operador lo podemos combinar con texto plano, strings, y otros tipos de variables convirtiéndolo en string.
La sintaxis es sencilla y podemos añadir el texto o variables que necesitemos.

Console.WriteLine("Texto" + variable);
Console.WriteLine("Texto" + "Texto");
Ejemplo:

class Program
    {
        static void Main(string[] args)
        {
            string variable = "Hola Mundo";
            Console.WriteLine(" Mi primer " + variable);
        }
    }
Enter fullscreen mode Exit fullscreen mode

El resultado es el siguiente:
Alt Text

2. String.Format
Utilizamos esta opción cuando necesitamos insertar el contenido de una variable u objeto en una cadena, no es recomendable usarlo si tenemos muchas variables a concatenar, ya que podríamos perder el sentido del orden de las variables creando confusión con el numero y orden.
En el siguiente ejemplo observamos una variación, transformamos el string en int ya que .Length cuenta el numero de palabras que tiene esta cadena, por lo tanto cambia el formato, pero esta opción es idónea para estos casos.
La sintaxis es sencilla,
Console.WriteLine(string.Format("aquí va el texto {numero de orden}", variable));

dentro de las comillas va el texto plano, dentro de las llaves va el número de la posición de la variable, iniciando desde la posición 0, fuera de ellas seguido de una coma se colocan las variables.
Ejemplo:

class Program
    {
        static void Main(string[] args)
        {
            string variable = "Hola Mundo";
            Console.WriteLine(string.Format("La frase {0} tiene {1} letras",
                              variable, variable.Length));
        }
    }
Enter fullscreen mode Exit fullscreen mode

El resultado es el siguiente:
Alt Text

3. Interpolación
Esto es un poco más complicado de entender, esto significa que vamos a tener cadenas o expresiones que incluyan interpolación.
Se basa en la característica de formato compuesto.
La interpolación fue añadida en la versión C# 6, es relativamente nueva pero la opción más recomendada para concatenar cadenas ya que insertamos la variable en el lugar que va a ser visualizada, evitando la confusión que se crea con la opción anterior y produce el mismo resultado.
La sintaxis es más legible y fácil de crear, inicia con un signo de $ seguido de comillas, dentro de las comillas va el contenido incluyendo las {} dentro de las llaves va la variable.

Console.WriteLine($"aqui va el texto {variable}");
como observamos a continuación.
Ejemplo

class Program
    {
        static void Main(string[] args)
        {
            string variable = "Hola Mundo";
            Console.WriteLine($"La frase {variable} tiene {variable.Length} letras");
        }
    }
Enter fullscreen mode Exit fullscreen mode

El resultado es el siguiente:
Alt Text

Conclusión

Puedes usar la opción que gustes, todas cumplen el mismo objetivo, depende el uso que vas a darle, de todas formas aquí te he creado una infografía con el resumen de este post.
Alt Text

Nos vemos en Twitter e Instagram ;)

Discussion (0)