将整数数组转换为逗号分隔的字符串

这是个简单的问题;我是一个c#的新手,我怎么能执行以下

  • 我想将一个整数数组转换为逗号分隔的字符串。

我有

int[] arr = new int[5] {1,2,3,4,5};

我想把它转换成一个字符串

string => "1,2,3,4,5"
295483 次浏览
var result = string.Join(",", arr);

这使用了string.Join的以下重载:

public static string Join<T>(string separator, IEnumerable<T> values);

net 4

string.Join(",", arr)

net早些时候

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))

你可以有一对扩展方法来简化这个任务:

public static string ToDelimitedString<T>(this IEnumerable<T> lst, string separator = ", ")
{
return lst.ToDelimitedString(p => p, separator);
}


public static string ToDelimitedString<S, T>(this IEnumerable<S> lst, Func<S, T> selector,
string separator = ", ")
{
return string.Join(separator, lst.Select(selector));
}

所以现在

new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();

使用LINQ Aggregate方法将整数数组转换为逗号分隔的字符串

var intArray = new []{1,2,3,4};
string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b));
Response.Write(concatedString);

输出将是

1、2、3、4

如果您没有安装。net 4,这是您可以使用的解决方案之一。

int[] arr = new int[5] {1,2,3,4,5};

你可以使用Linq

String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);