在List<string>有( "ABC", "", "DEF", "", "XYZ"),我怎么能得到的字符串"ABC :: DEF :: XYZ"出在C#中的列表?
List<string> strings = new List<string> {"ABC","","DEF","","XYZ"};
string joined = string.Join("::", strings.ToArray());
Console.WriteLine(joined);
Run Code Online (Sandbox Code Playgroud)
给出ABC::::DEF::::XYZ,而不是ABC::DEF::XYZ如何跳过列表中的空字符串("")?
你可以做:
List<string> strings = ...
string joined = string.Join(":", strings.ToArray());
Run Code Online (Sandbox Code Playgroud)
在.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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |