C#string.Join把List<string>转为字符串
string.Join(分隔符, 可枚举集合),List<string>实现了IEnumerable<string>,可以直接传入。
示例代码
using System; using System.Collections.Generic; class Program { static void Main() { List<string> m = new List<string> { "A", "B", "C", "D" }; // 用逗号分隔 string result1 = string.Join(",", m); Console.WriteLine(result1); // 输出:A,B,C,D // 用换行分隔 string result2 = string.Join(Environment.NewLine, m); // 直接拼接,无分隔符 string result3 = string.Join("", m); Console.WriteLine(result3); // 输出:ABCD } }关键点说明
- 版本兼容:.NET Framework 4.0+ / .NET Core / .NET 5~8 都支持
string.Join(string, IEnumerable<string>),可以直接传List<string> - 空集合安全:如果
m是空 List,返回空字符串,不会抛异常 - null 处理:List 里面如果有
null元素,会当成空字符串处理
List<string> m = new List<string> { "A", null, "C" }; string s = string.Join("-", m); // 结果:A--C如果需要忽略null元素(可选扩展)
string result = string.Join(",", m.Where(x => x != null));需要我顺便对比一下string.Join和StringBuilder在大量字符串拼接下的性能区别吗?