我正在处理的项目是asp.net mvc核心。我想将重复值的字符串列表替换为一个用逗号分隔的值,
List<string> stringList = surveylist.Split('&').ToList();
I have string list这将生成以下输出:
7=55
6=33
5=MCC
4=GHI
3=ABC
1003=DEF
1003=ABC
1=JKL
我想这样改变输出
7=55
6=33
5=MCC
4=GHI
3=ABC
1003=DEF,ABC
1=JKL
重复的项目值应以逗号分隔。
2条答案
按热度按时间hc2pp10m1#
大概有20种方法可以做到这一点。其中一个简单的方法是:
bxgwgixi2#
看一下输出。注意,等号将每个字符串分隔成一个 * 键-值对 *。考虑一下您希望如何处理这个问题。字符串列表真的是您希望构建的结构吗?您可以采取不同的方法,使用KeyValuePairs列表或Dictionary来代替。
如果你真的需要用List来实现,那么看看LINQ's Enumerable提供的方法,也就是
Select
和GroupBy
。您可以使用
Select
在等号上再拆分一次:.Select(s => s.Split('='))
.可以使用
GroupBy
按键对值进行分组:.GroupBy(pair => pair[0])
.要将其重新连接到字符串,可以再次使用
Select
。最终结果可能如下所示:
组包含对,因此您需要选择每个对的值并将它们连接成字符串。