c# - 在 C# 中从 List<string> 构建字符串

标签 c# list

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/

相关文章:

c# - 带有附属对象的列表的优点/缺点

Java:循环列表两次会消耗双倍功率吗?

c# - 如何使用资源两次?

c# - WCF 动态绑定(bind) - 如何指定端点?

c# - 使用 LinQ 合并 2 个不同类型的列表

c# - 如何从 C# 调用 C++ API

python - 我想找到一天中办公室最高峰的时间

python - 在nltk bigraph的python中转换计数器列表

c# - 根据参数类型调用函数

c# - Azure 错误,找不到 Internet Explorer