假设我有一个数组int [] arr = {1,2,3,4}
我想将其转换为字符串。 结果我希望它像这个字符串a =“1,2,3,4”;
所以我可以用“string a = arr ....”来做这件事,而不是写一个for循环吗?
由于
答案 0 :(得分:8)
从.NET 4开始,您只需执行以下操作:
var result = string.Join( ",", arr );
在早期版本中,
var result = string.Join( ",", arr.Select( a => a.ToString() ).ToArray() );
答案 1 :(得分:2)
您可以使用String.Join:
int[] arr = new [] { 4, 5, 6, 7 };
string joined = String.Join(",", arr);
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/57a79xd0.aspx。
答案 2 :(得分:1)
string result = string.Join(", ", arr.Select(item => item.ToString()).ToArray());
答案 3 :(得分:1)
如果您不能使用.net 4(我还不能,因为我们的客户不会部署它),您可以使用扩展方法。这将适用于所有IEnumerable<T>'s
,并通过适当实现的.ToString()覆盖。你也可以选择你想要的分离器。
如果您拥有以下内容,则可以执行string s = myenumerable.Seperated(",");
public static class EnumerableExtender
{
public static string Separated<T>(this IEnumerable<T> l, string separator)
{
var sb = new StringBuilder();
var first = true;
foreach (var o in l)
{
if (first) first = false; else sb.Append(separator);
sb.Append(o.ToString());
}
return sb.ToString();
}
}