试图想出一个LINQy方法来做到这一点,但没有什么事情发生在我身上.
我有一个List <>对象,其中包含一个以逗号分隔的alpha代码列表的属性:
lst[0].codes = "AA,BB,DD"
lst[1].codes = "AA,DD,EE"
lst[2].codes = "GG,JJ"
Run Code Online (Sandbox Code Playgroud)
我想要一个这些代码的列表,希望以字符串列表的形式:
result = AA,BB,DD,EE,GG,JJ
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何指示.
Joe*_*zen 21
使用SelectMany让所有分割代码,并使用Distinct不重复的值.尝试这样的事情:
var result = lst.SelectMany(x => x.codes.Split(",")).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
您需要使用Split将每个字符串拆分为多个字符串.然后,您需要使用SelectMany将多个序列连接成一个序列,然后您需要使用Distinct删除重复项.
var result =
lst
.SelectMany(x => x.codes.Split(','))
.Distinct()
.ToList();
Run Code Online (Sandbox Code Playgroud)