在C#中将整数列表转换为逗号分隔数字串的最简单方法是什么?

时间:2010-01-08 22:43:10

标签: c# string int

我在这里寻找一个班轮,从:

开始
int [] a = {1, 2, 3};
List<int> l = new List<int>(a);

结束
String s = "1,2,3";

8 个答案:

答案 0 :(得分:9)

String s = String.Join(",", a.Select(i => i.ToString()).ToArray());

答案 1 :(得分:6)

string s = string.Join(",", Array.ConvertAll(a, i => i.ToString()));

或在.NET 4.0中,您可以尝试(虽然我不确定它是否会编译):

string s = string.Join(",", a);

答案 2 :(得分:4)

  String.Join(",", l);

答案 3 :(得分:2)

string.Join(",", l.ConvertAll(i => i.ToString()).ToArray());

假设您正在使用.NET 3.5 w / Linq进行编译。

答案 4 :(得分:2)

int[] array = {1,2,3};

string delimited = string.Join(",", array);

答案 5 :(得分:1)

l.Select(i => i.ToString()).Aggregate((s1, s2) => s1 + "," + s2)

答案 6 :(得分:0)

另一种方法:

string s = a.Aggregate("", (acc, n) => acc == "" ? n.ToString() : acc + "," + n.ToString());

答案 7 :(得分:-1)

我知道你正在寻找一个班轮,但如果你创建一个扩展方法,所有未来的使用都是一个班轮。这是我使用的方法。


public static string ToDelimitedString<T>(this IEnumerable<T> items, string delimiter)
{
    StringBuilder joinedItems = new StringBuilder();
    foreach (T item in items)
    {
        if (joinedItems.Length > 0)
            joinedItems.Append(delimiter);

        joinedItems.Append(item);
    }

    return joinedItems.ToString();
}

对于您的列表,它变为:l.ToDelimitedString(",") 为了方便起见,我添加了一个总是使用逗号作为分隔符的重载。