将 list<int> 转换为连接的整数字符串?
Posted
技术标签:
【中文标题】将 list<int> 转换为连接的整数字符串?【英文标题】:Convert a list<int> to a joined string of ints? 【发布时间】:2011-03-13 18:57:40 【问题描述】:我有一个值为 3,99,6 的 int 数组。如何使用 linq 将数组转换为字符串 3,99,6
?
【问题讨论】:
【参考方案1】:int[] list = new [] 3, 99, 6;
string s = string.Join(",", list.Select(x => x.ToString()).ToArray());
编辑,C# 4.0
在 C# 4.0 中,string.Join
有另一个重载,它最终允许直接传递 IEnumerable<string>
或 IEnumerable<T>
。不需要创建Array,也不需要调用ToString()
,隐式调用:
string s = string.Join(",", list);
显式格式化字符串:
string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
【讨论】:
【参考方案2】:Stefan 的解决方案是正确的,并且非常适用于 .NET 3.5。在 .NET 4 中,有一个 overload of String.Join
需要一个 IEnumerable<string>
,因此您可以使用:
string s = string.Join(",", list.Select(x => x.ToString());
甚至只是:
string s = string.Join(",", list);
【讨论】:
需要 ToString() 吗?它似乎只是自己做,就像String.Join(",", list);
以上是关于将 list<int> 转换为连接的整数字符串?的主要内容,如果未能解决你的问题,请参考以下文章
将 List<int> 转换为 List<int?> 的最快方法
将 List<int?> 转换为 List<int> 的任何简单方法
无法将 initializer_list 转换为 class<int>