假设我有一个像这样的字符串数组
{ "A“, ”B", "A,B,D", "C" }
我是否有可能编写一个LinQ来将不同的值{“A”,“B”,“C”,“D”}放入List中?
答案 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();