C# `string.Join` 处理 `List<int>`

📅 发布时间:2026/9/27 8:57:49
C# `string.Join` 处理 `List<int>`
C#string.Join处理Listintstring.Join不能直接把Listint当作IEnumerablestring但有两种常用写法方式1配合.Select()转字符串推荐using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { Listint m new Listint { 1, 2, 3, 4, 5 }; // 逗号分隔 string result string.Join(,, m.Select(x x.ToString())); Console.WriteLine(result); // 输出1,2,3,4,5 // 无分隔直接拼接 string result2 string.Join(, m.Select(x x.ToString())); Console.WriteLine(result2); // 输出12345 } }需要引用using System.Linq;方式2.NET 4.0 / .NET Core 及以上重载不用Selectstring.Join(string, IEnumerableobject)int会隐式装箱内部自动调用ToString()Listint m new Listint { 10, 20, 30 }; string result string.Join(|, m); // 输出10|20|30✅ 原理Listint是IEnumerableint可隐式转为IEnumerableobject⚠️ 注意事项空 List返回空字符串不会报错Listint m new Listint(); string s string.Join(,, m); // s 性能少量数据直接string.Join(,, m)最简单超大集合推荐Select(xx.ToString())版本减少装箱开销空元素int不可能为 null不用处理null拓展自定义数字格式化Listint m new Listint { 1, 2, 3 }; string result string.Join(,, m.Select(x x.ToString(D3))); // 输出001,002,003如果你用的是.NET Framework 3.5只能用Select写法没有IEnumerableobject这个重载。要不要顺便写一个带条件过滤只拼接大于0的数字的示例