这里有个问题.我正在使用String.Join将数组转换为字符串.我遇到的一个小问题是,在数组中,一些索引位置将为空白.一个例子如下:
array[1] = "Firstcolumn"
array[3] = "Thirdcolumn"
Run Code Online (Sandbox Code Playgroud)
通过使用String.Join(",",array);,我将得到以下内容:
Firstcolumn ,, Thirdcolumn
注意额外的,.如何在使用String.Join时从字符串中删除额外的逗号,或者理想情况下不包含空索引?
Las*_*olt 84
试试这个 :):
var res = string.Join(",", array.Where(s => !string.IsNullOrEmpty(s)));
Run Code Online (Sandbox Code Playgroud)
这将只加入不是null
或的字符串""
.
ber*_*hof 34
一个简单的解决方案是使用linq,通过在加入之前过滤掉空项.
// .net 3.5
string.Join(",", array.Where(item => !string.IsNullOrEmpty(item)).ToArray());
Run Code Online (Sandbox Code Playgroud)
在.NET 4.0中,string.IsNullOrWhiteSpace
如果您还想过滤掉空白或仅包含空白字符的项目,您也可以使用它(请注意,在.NET 4.0中,您不必ToArray
在这种情况下调用):
// .net 4.0
string.Join(",", array.Where(item => !string.IsNullOrWhiteSpace(item)));
Run Code Online (Sandbox Code Playgroud)