将List <int>转换为分隔字符串列表</int>

时间:2010-06-28 19:11:36

标签: c#

  

可能重复:
  most elegant way to return a string from List<int>

我不确定最简单的方法。我只想添加一个;在每个值之间并将其吐出为一个字符串。我没有看到你可以用ToString()做到这一点。我必须循环并创建一个stringbuilder并追加&amp;添加“;”。

5 个答案:

答案 0 :(得分:102)

更新使用List<int>代替List<string>

使用string.Join

List<int> data = ..;
var result = string.Join(";", data); // (.NET 4.0 only)
var result = string.Join(";", data.Select(x => x.ToString()).ToArray()); // (.NET 3.5)

答案 1 :(得分:6)

string.Join(";", myList.ToArray());

答案 2 :(得分:4)

只需使用加入

即可
string combinedString = String.Join(";", arrayName);

答案 3 :(得分:3)

List<String> list = new List<String>() { "A", "B", "C", "D", "E" };
String joindString1 = String.Join(";", list.ToArray());
String joindString2 = list.Aggregate((s1, s2) => s1 + ";" + s2);

答案 4 :(得分:2)

您还可以使用Enumerable.Aggregate,它可以提供额外的灵活性。

var data = new List<int> { 1,2,3 };
var sb = new StringBuilder(100);

// do some other stuff with sb

sb = data.Aggregate(sb, (b, d) => b.Append(d).Append(';'));
if( data.Count > 0 ) sb.Length--;

//do some more stuff with sb

var str = sb.ToString();