Ich habe eine Liste von Zeichenfolgen in C# und möchten eine Liste von eindeutigen Zeichen, die in den Strings in der Liste sind, mit LINQ erstellen.LINQ in C# zum Konvertieren einer Liste <string> in eine Liste <char>
Ich habe bis jetzt ausgearbeitet, wie man die Liste in eine Liste umwandelt, aber ich kann nicht herausfinden, wie man den LINQ dazu bringt, weiter zu gehen.
Was ich habe, so weit ist wie folgt:
List<string> dictionary = new List<string>(someArray);
List<string[]> uniqueCharacters = dictionary.ConvertAll(s => s.Split());
Ich glaube, ich brauche, um etwas entlang der Linien von
List<char> uniqueCharacters =
dictionary.ConvertAll(s => s.Split()).SelectAll(t, i=>t[i][0]);
Liste uniqueCharacters = dictionary.SelectMany (s => s.ToCharArray()). Distinct(). ToList(); ist, was ich ging am Ende - danke :) –
simonalexander2005
Mit einem 'HashSet' am Ende' var distinct = neue HashSet (Zeichen) 'ist eine andere sinnvolle Alternative, wenn die Frage liberaler interpretiert wird. Siehe auch http://stackoverflow.com/questions/1388361/getting-all-unique-items-in-ac-list –
Der 'ToCharArray'-Aufruf ist unnötig und wirkt sich nur geringfügig auf die Leistung aus, da die Zeichen kopiert werden müssen die Quellzeichenfolge zu einem neuen Array. Sie können stattdessen 'list.SelectMany (s => s)' verwenden. – LukeH