C# 列表<;字符串>;以逗号分隔的字符串和最后一个不带逗号的值
我有一个字符串列表,其中包含x个数量的项。我想创建一个字符串,项目应以逗号分隔,如下所示:C# 列表<;字符串>;以逗号分隔的字符串和最后一个不带逗号的值,c#,linq,C#,Linq,我有一个字符串列表,其中包含x个数量的项。我想创建一个字符串,项目应以逗号分隔,如下所示: string result = val1, val2, val3, ... valx string result = val1, val2, val3, ... valx,[space] string result = string.Join(", ", myList).TrimEnd(',',' '); 但我不希望最后一个值后跟逗号+空格 这就是我尝试的结果,结果在字符串的末尾添加了一个逗号+空格
string result = val1, val2, val3, ... valx
string result = val1, val2, val3, ... valx,[space]
string result = string.Join(", ", myList).TrimEnd(',',' ');
但我不希望最后一个值后跟逗号+空格
这就是我尝试的结果,结果在字符串的末尾添加了一个逗号+空格
string result = string.Join(", ", myList.Select(x => x.ToString()));
结果如下:
string result = val1, val2, val3, ... valx
string result = val1, val2, val3, ... valx,[space]
string result = string.Join(", ", myList).TrimEnd(',',' ');
注意:看起来您的输入myList
是一个字符串列表
,因此您不需要ToString()
,只需这样做:
string result = val1, val2, val3, ... valx
string result = val1, val2, val3, ... valx,[space]
string result = string.Join(", ", myList).TrimEnd(',',' ');
注意:看起来您的输入myList
是一个字符串列表
,因此您不需要ToString()
,只需这样做:
string result = val1, val2, val3, ... valx
string result = val1, val2, val3, ... valx,[space]
string result = string.Join(", ", myList).TrimEnd(',',' ');
然后在列表的末尾有一个空格。是否确实要将其从逗号分隔的lis中删除?这意味着您的项目计数小于列表的项目计数
string result = string.Join(", ", myList.Where(x => !string.IsNullOrWhiteSpace(x)));
然后在列表的末尾有一个空格。是否确实要将其从逗号分隔的lis中删除?这意味着您的项目计数小于列表的项目计数
string result = string.Join(", ", myList.Where(x => !string.IsNullOrWhiteSpace(x)));
请检查您的
myList
以获取whitepsace
没有空格
List<string> myList = new List<string>{"1", "2", "3", "4", "5", "6"};
string result = string.Join(", ", myList.ToArray());
Console.WriteLine(result);
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[空格]
您问题的解决方案:
string result=string.Join(“,”,myListSpace.Where(s=>!string.IsNullOrWhiteSpace(s)).ToArray()代码>请查看您的myList
以获取whitepsace
没有空格
List<string> myList = new List<string>{"1", "2", "3", "4", "5", "6"};
string result = string.Join(", ", myList.ToArray());
Console.WriteLine(result);
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[空格]
您问题的解决方案:
string result=string.Join(“,”,myListSpace.Where(s=>!string.IsNullOrWhiteSpace(s)).ToArray()
为什么使用String.ToString()
?能否确认项目x是空白?否则,您将无法在结尾处获得,
。为什么要使用String.ToString()
?能否确认项目x是空白?否则,您将无法在最后获得,
。您忘记了将排列到String.Join
不接受IEnumerable
,只接受String[]
@KonradMorawski:它接受,从.NET 4开始。你忘了把放在阵列上了
String.Join
不接受IEnumerable
,只接受String[]
@KonradMorawski:它接受,从.NET 4开始。如果x
是一个字符串,则不需要.Select(x=>x.ToString())
。如果x
不是字符串,则x.Trim()
可能不会编译。如果x
是字符串,则.Select(x=>x.ToString())
是不必要的。如果x
不是字符串,则x.Trim()
可能不会编译。