"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se puede utilizar el método agregado de Linq para una concatenación de cadena eficiente?

¿Cómo se puede utilizar el método agregado de Linq para una concatenación de cadena eficiente?

Publicado el 2025-02-06
Navegar:775

How Can LINQ's Aggregate Method Be Used for Efficient String Concatenation?

concatenando cadenas con linq

El método tradicional de concatenar cadenas implica usar un StringBuilder y agregar cada cadena dentro de un bucle. Sin embargo, para un enfoque más eficiente, LINQ ofrece consultas agregadas.

una consulta agregada es una función que toma una colección de valores y devuelve un valor escalar. Usando la notación de puntos, puede llamar a una consulta agregada en un objeto IEnumerable.

para concatenar cadenas con Linq, puede usar el método agregado de la siguiente manera:

string[] words = { "one", "two", "three" };
string res = words.Aggregate(
    "", // Start with an empty string for empty list handling
    (current, next) => current   ", "   next);

Este código genera la siguiente salida:

, one, two, three

es importante tener en cuenta que Las consultas agregadas se ejecutan de inmediato. Para un rendimiento óptimo con secuencias grandes, considere usar String.Join en su lugar.

Alternativamente, si desea usar Aggregate, puede aprovechar un StringBuilder para un rendimiento mejorado:

var res = words.Aggregate(
    new StringBuilder(), 
    (current, next) => current.Append(current.Length == 0? "" : ", ").Append(next));
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3