2011-04-11 18 views
7

tengo una lista de objetos en una colección. Cada objeto tiene una propiedad de cadena llamada Issue. Quiero concatenar el problema de todos los elementos de la colección y ponerlos en una sola cadena. ¿Cuál es la forma más limpia de hacerlo con LINQ?usando LINQ cómo puedo concatenar las propiedades de cadena de itesm en una colección

aquí es de forma manual:

string issueList = ""; 
foreach (var item in collection) 
{ 
     if (!String.IsNullOrEmpty(item.Issue) 
     { 
      issueList = issueList + item.Issue + ", "; 
     } 
} 
//Remove the last comma 
issueList = issueList.Remove(issueList.Length - 2); 
return issueList; 
+0

No veo nada desordenado al respecto. –

+0

@Nick - simplemente pensé que sería más limpio en una sola declaración LINQ – leora

+0

@Nick: ¿No? Por qué no? Es una gran cantidad de código repetitivo molesto. – SLaks

Respuesta

20

Puede escribir

return String.Join(", ", collection.Select(o => o.Issue)); 

En .Net 3.5, tendrá que añadir .ToArray().

Cuestiones relacionadas