Non è una domanda complicata, ma non riesco a spiegarmelo in linq.Unione Un elenco di elenchi che utilizzano Linq
Ho un Enumerable<T>
contenente un Enumerable<string>
:
public class
{
List<List<string>> ListOfLists = new List<List<string>>();
}
Io fondamentalmente voglio tornare ogni stringa univoca da ListOfLists; questo è facile utilizzando un ciclo foreach e una variabile di memoria (probabilmente ho potuto migliorare l'efficienza di non avere la distinta proprio alla fine, ma non è questo il punto):
List<string> result = new List<string>();
foreach (var v in ListOfLists)
{
foreach (var s in v)
{
result.Add(s);
}
}
result.Distinct();
Come posso fare questo con LINQ?
Hai già le risposte. Suggerirei di fare una ripresa con il metodo Extension con questo problema! Dove i tuoi metodi di estensione seleziona SelectMany e Distinct in modo ottimizzato. –