0

我有一个包含 x 个项目的字符串列表。我想创建一个字符串,项目应该用逗号分隔,如下所示:

string result = val1, val2, val3, ... valx

但我不想让最后一个值后跟逗号+空格

这是我尝试过的,结果在字符串末尾添加了一个逗号 + 空格。

  string result = string.Join(", ", myList.Select(x => x.ToString()));

结果是这样的:

string result = val1, val2, val3, ... valx,[space]
4

4 回答 4

5
string result = string.Join(", ", myList.Select(x => x.ToString())).TrimEnd(',',' ');

注意:看起来您的输入myList是 aList of string所以您不需要ToString(),只需这样做:

string result = string.Join(", ", myList).TrimEnd(',',' ');
于 2013-10-15T08:05:44.480 回答
1

然后在列表末尾有一个空格。你真的想从逗号分隔的 lis 中删除它吗?这意味着您的项目数少于列表的项目数。

string result = string.Join(", ", myList.Where(x => !string.IsNullOrWhiteSpace(x)));
于 2013-10-15T08:06:15.243 回答
0
string result = string.Join(", ", myList.Where(x=>x.Trim() != String.Empty).Select(x => x.ToString()));
于 2013-10-15T08:05:04.623 回答
0

请检查您myList的白色空间

没有空格

        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

使用空白

        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());

于 2013-10-15T08:34:04.037 回答