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