Ho un elenco di stringhe in C# e desidero creare un elenco di caratteri univoci presenti nelle stringhe nell'elenco, utilizzando LINQ.utilizzando LINQ in C# per convertire un elenco <string> in un elenco <char>
Ho finora elaborato come trasformare la lista in una lista, ma non riesco a capire come far andare il LINQ oltre.
Quello che ho finora è la seguente:
List<string> dictionary = new List<string>(someArray);
List<string[]> uniqueCharacters = dictionary.ConvertAll(s => s.Split());
Credo che ho bisogno di qualcosa sulla falsariga di
List<char> uniqueCharacters =
dictionary.ConvertAll(s => s.Split()).SelectAll(t, i=>t[i][0]);
Elenco uniqueCharacters = dictionary.SelectMany (s => s.ToCharArray()). Distinct(). ToList(); è quello che sono andato con alla fine - grazie :) –
simonalexander2005
Utilizzando un 'HashSet' alla fine' var distinct = new HashSet (chars) 'è un'altra alternativa ragionevole se la domanda viene interpretata in modo più liberale. Vedi anche http://stackoverflow.com/questions/1388361/getting-all-unique-items-in-ac-list –
La chiamata 'ToCharArray' non è necessaria e ha un piccolo impatto sulle prestazioni perché i caratteri devono essere copiati da la stringa di origine in un nuovo array. Puoi semplicemente fare 'list.SelectMany (s => s)' invece. – LukeH