我有一个包含x个项目的字符串列表。我想创建一个单独的字符串,这些项应以逗号分隔,如下所示:
string result = val1, val2, val3, ... valx
但我不想让最后一个值后跟逗号+空格
这是我尝试的,结果在字符串的末尾添加了一个逗号+空格。
string result = string.Join(", ", myList.Select(x => x.ToString()));
结果如下:
string result = val1, val2, val3, ... valx,[space]
答案 0 :(得分:5)
string result = string.Join(", ", myList.Select(x => x.ToString())).TrimEnd(',',' ');
注意:您的输入myList
似乎是List of string
,因此您不需要ToString()
,只需这样做:
string result = string.Join(", ", myList).TrimEnd(',',' ');
答案 1 :(得分:1)
然后列表末尾有一个空白区域。你真的想从逗号分隔的lis中删除它吗?这意味着您的项目数量少于列表的项目数。
string result = string.Join(", ", myList.Where(x => !string.IsNullOrWhiteSpace(x)));
答案 2 :(得分:0)
string result = string.Join(", ", myList.Where(x=>x.Trim() != String.Empty).Select(x => x.ToString()));
答案 3 :(得分:0)
请检查您的myList
是否有whitepsace
没有WhiteSpace
List<string> myList = new List<string>{"1", "2", "3", "4", "5", "6"};
string result = string.Join(", ", myList.ToArray());
Console.WriteLine(result);
<强>输出:强>
1, 2, 3, 4, 5, 6
使用WhiteSpace
List<string> myListSpace = new List<string> { "1", "2", "3", "4", "5", "6"," " };
string resultSpace = string.Join(", ", myListSpace.ToArray());
Console.WriteLine(resultSpace);
<强>输出:强>
1, 2, 3, 4, 5, 6,[space]
解决您的问题:
string result = string.Join(", ", myListSpace.Where(s => !string.IsNullOrWhiteSpace(s)).ToArray());