Using LINQ to convert a list to a CSV string
我有一个整数列表,我想能够把它转换成一个字符串,每个数字用逗号分隔。
到目前为止,如果我的列表是:
1 2 3 4 5 | 1 2 3 4 5 |
我的预期产出是:
1 | 1, 2, 3, 4, 5 |
是否可以使用LINQ?
谢谢
在.NET 2/3中
1 | var csv = string.Join(",", list.Select( i => i.ToString() ).ToArray() ); |
或(在.NET 4.0中)
1 | var csv = string.Join(",", list ); |
这就是你要找的吗?
1 2 3 4 | // Can be int[], List<int>, IEnumerable<int>, ... int[] myIntegerList = ...; string myCSV = string.Join(",", myIntegerList.Select(i => i.ToString()).ToArray()); |
从C 4.0开始,不再需要额外的Mubojumbo,它将自动工作:
1 2 3 4 | // Can be int[], List<int>, IEnumerable<int>, ... int[] myIntegerList = ...; string myCSV = string.Join(",", myIntegerList); |
1 | string csv = String.Join(",", list.Select(i=> i.ToString()).ToArray()); |
1 | String.Join(",", list); //in .NET 4.0 |
和
1 2 | String.Join(",", list .Select(i => i.ToString()).ToArray()) //in .NET 3.5 and below |