【发布时间】:2021-08-02 21:51:51
【问题描述】:
我有一些代码如下:
char[] separator = { ',' };
String[] idList = m_idsFromRequest.Split(separator); //m_idsFromRequest="1,2....";
List<string> distinctIdList = idList.Distinct().ToList();
m_distinctIdList = distinctIdList.ToArray();
m_idsFromRequest = string.Join(" ", distinctIdList);
目前 m_idsFromRequest = ["1","2".........."] 就是这样。 我想让它 ["0|1","0|2"........"] 就像在每个元素中附加 "0|" 。我想知道 id 我可以在没有foreach 循环。
【问题讨论】:
-
仅供参考,您的原始代码可以简化为
m_idsFromRequest = string.Join(" ", m_idsFromRequest.Split(separator).Distinct());,您将避免创建不需要的中间列表和数组。 -
另外,如果你的字符串两端都有括号,那么
["1","1"]之类的东西不会改变,因为 distinct 被应用于["1"和'"1"]的值 -
我一定会调查的。中间数据有一些中间的杂耍,所以我只是提出了整体的东西。此外,我的前辈不允许我接触太多代码。
-
请注意,下面的答案假设您以
1,2,3之类的字符串开头,而不是["1","2","3"]之类的字符串,并且不适用于后面的值,因此初始字符串的确切格式是这里很重要。