List<string>
有 ("ABC","","DEF","","XYZ"),如何从 C# 中的列表中获取字符串“ABC::DEF::XYZ”?
已添加
List<string> strings = new List<string> {"ABC","","DEF","","XYZ"};
string joined = string.Join("::", strings.ToArray());
Console.WriteLine(joined);
给出 ABC::::DEF::::XYZ
, 不是 ABC::DEF::XYZ
, 如何跳过列表中的空字符串 ("")?
最佳答案
你可以这样做:
List<string> strings = ...
string joined = string.Join(":", strings.ToArray());
在 .NET 4.0 中,您可以省略 ToArray()
调用。
编辑:根据您的更新表明您想要跳过空字符串并使用两个冒号作为分隔符,您可以:
// Use !string.IsNullOrEmpty or !string.IsNullOrWhiteSpace if more appropriate.
string[] filtered = list.Where(s => s != string.Empty)
.ToArray();
string joined = string.Join("::", filtered);
关于c# - 在 C# 中从 List<string> 构建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012754/