简体   繁体   English

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

[英]Convert array of integers to comma-separated string

It's a simple question; 这是一个简单的问题; I am a newbie in C#, how can I perform the following 我是C#的新手,我该如何执行以下操作

  • I want to convert an array of integers to a comma-separated string. 我想将整数数组转换为逗号分隔的字符串。

I have 我有

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

I want to convert it to one string 我想将它转换为一个字符串

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

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

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

.NET 4 .NET 4

string.Join(",", arr)

.NET earlier .NET早些时候

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
int[] arr = new int[5] {1,2,3,4,5};

您可以使用Linq

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

You can have a pair of extension methods to make this task easier: 您可以使用一对扩展方法来简化此任务:

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));
}

So now just: 所以现在只需:

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

Use LINQ Aggregate method to convert array of integers to a comma separated string 使用LINQ Aggregate方法将整数数组转换为逗号分隔的字符串

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

output will be 输出将是

1,2,3,4 1,2,3,4

This is one of the solution you can use if you have not .net 4 installed. 如果您没有安装.net 4,这是您可以使用的解决方案之一。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM