Utilice el método de LINQ SelectMany:
IEnumerable<IEnumerable<string>> myOuterList = // some IEnumerable<IEnumerable<string>>...
IEnumerable<String> allMyStrings = myOuterList.SelectMany(sl => sl);
ser muy claro acerca de lo que está pasando aquí (ya que me gusta la idea de que la gente pensando que esto es una especie de hechicería, y me siento mal de que algunas otras personas suprimido la misma respuesta):
SelectMany es una (un método estático extension method que a través de azúcar sintáctico se ve como un método de instancia en un tipo específico) en IEnumerable<T>
. Toma su enumeración original de enumeraciones y una función para convertir cada elemento de eso en una enumeración.
Debido a que los artículos son ya enumeraciones, la función de conversión es simple: sólo devuelve la entrada (sl => sl
significa "tomar un Paremeter llamado sl
y devolverlo"). SelectMany a continuación, proporciona una enumeración sobre cada uno de estos a su vez, resulta en su lista de "aplanado" ..
['Enumerable.SelectMany'] (http://msdn.microsoft.com/en-US/library/bb534336.aspx) –