C# Language
Concatenación de cuerdas
Buscar..
Observaciones
Si está creando una cadena dinámica, es una buena práctica optar por la clase StringBuilder
lugar de unir cadenas mediante el método + o Concat
, ya que cada + / Concat
crea un nuevo objeto de cadena cada vez que se ejecuta.
+ Operador
string s1 = "string1";
string s2 = "string2";
string s3 = s1 + s2; // "string1string2"
Concatenar cadenas utilizando System.Text.StringBuilder
La concatenación de cadenas con un StringBuilder puede ofrecer ventajas de rendimiento en comparación con la simple concatenación de cadenas con +
. Esto se debe a la forma en que se asigna la memoria. Las cadenas se reasignan con cada concatenación, los StringBuilders asignan memoria en bloques y solo se reasignan cuando se agota el bloque actual. Esto puede hacer una gran diferencia cuando se hacen muchas concatenaciones pequeñas.
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
sb.Append(i);
sb.Append(" ");
}
Console.WriteLine(sb.ToString()); // "1 2 3 4 5 "
Las llamadas a Append()
se pueden conectar en cadena, porque devuelve una referencia al StringBuilder
:
StringBuilder sb = new StringBuilder();
sb.Append("some string ")
.Append("another string");
Elementos de matriz de cadena de concat utilizando String.Join
El método String.Join
se puede usar para concatenar múltiples elementos de una matriz de cadenas.
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value, 1, 2);
Console.WriteLine(result);
Produce la siguiente salida: "naranja, uva".
Este ejemplo utiliza la String.Join(String, String[], Int32, Int32)
, que especifica el índice de inicio y el recuento sobre el separador y el valor.
Si no desea utilizar el índice de inicio y las sobrecargas de conteo, puede unir todas las cadenas dadas. Me gusta esto:
string[] value = {"apple", "orange", "grape", "pear"};
string separator = ", ";
string result = String.Join(separator, value);
Console.WriteLine(result);
que producirá;
manzana, naranja, uva, pera
Concatenación de dos cuerdas usando $
$ proporciona un método fácil y conciso para concatenar múltiples cadenas.
var str1 = "text1";
var str2 = " ";
var str3 = "text3";
string result2 = $"{str1}{str2}{str3}"; //"text1 text3"