使用LINQ从逗号分隔的数组中获取不同的值

时间:2011-07-27 02:35:08

标签: c# linq

假设我有一个像这样的字符串数组

{
"A“,
”B",
"A,B,D",
"C"
}

我是否有可能编写一个LinQ来将不同的值{“A”,“B”,“C”,“D”}放入List中?

3 个答案:

答案 0 :(得分:5)

lists.SelectMany(l => l.Split(',')).Distinct().ToList();

答案 1 :(得分:3)

var distinctValues = myList.SelectMany(x => x.Split(',')).Distinct().ToList();

这将拆分每个字符串,然后将它们展平为单个列表,并获取不同的元素。

如果您想以字母顺序获取元素,那么您可以在.OrderBy(x => x)之前使用.ToList()

答案 2 :(得分:1)

在linq查询语法中的Fyi与上面的答案相同

列表s =新列表(){ “A”, “B”, “A,B,d”, “C”};

var result =(from x in x in x in x.Split(',')select y).Distinct()。ToList();