【发布时间】:2014-04-14 14:40:12
【问题描述】:
我有一个字符串元素列表,每个元素都可以包含一个逗号分隔的值列表。由此,我想生成整个集合中所有不同值的列表。
以下面一组字符串为例:
Dim strings = New List(Of String) From {"A", "B,C,D", "D,E"}
我想把它变成:
{"A", "B", "C", "D", "E"}
使用 linq,我可以获取每个元素并将其转换为字符串数组。以下查询只会将每个字符串拆分为一个数组,但它会保留在它自己的数组元素中。
Dim fieldsLinq = (From s In strings
Select s.Split(",")) _
.Distinct()
我想将所有值连接成一个字符串数组。
我可以先用逗号连接所有元素,然后拆分单个字符串,但这感觉是错误的方法。
Dim fieldsJoin = String.Join(",", strings) _
.Split(",") _
.Distinct()
有没有更好的解决方案?
【问题讨论】: