использование LINQ в C# для преобразования списка в список
у меня есть список строк в C#, и я хочу создать список уникальных символов, которые находятся в строках в списке, используя LINQ.
Я до сих пор работал над тем, как превратить список в список, но я не могу понять, как заставить LINQ идти дальше.
то, что у меня есть до сих пор, выглядит следующим образом:
List<string> dictionary = new List<string>(someArray);
List<string[]> uniqueCharacters = dictionary.ConvertAll(s => s.Split());
Я считаю, что мне нужно что-то вроде
List<char> uniqueCharacters =
dictionary.ConvertAll(s => s.Split()).SelectAll(t, i=>t[i][0]);
2 ответов
вы можете использовать метод SelectMany LINQ, например:
var list = new List<string> { "Foo", "Bar" };
var chars = list.SelectMany(s => s.ToCharArray());
var distinct = chars.Distinct();
получите результат LinQ и поместите его в цикл, сравните каждый символ со списком символов.
foreach (string character in dictionary)
{
if (!(uniqueCharacters).Contains(character))
{
uniqueCharacters.Add(character);
}
}