可能重複:
most elegant way to return a string from List<int>轉換列表<int>爲分隔字符串列表
我不知道最簡單的方法來做到這一點。我只是想添加一個;每個值之間並將其作爲一個字符串吐出。我沒有看到你可以用ToString()來做到這一點。我將不得不循環並創建一個stringbuilder並追加&添加一個「;」。
可能重複:
most elegant way to return a string from List<int>轉換列表<int>爲分隔字符串列表
我不知道最簡單的方法來做到這一點。我只是想添加一個;每個值之間並將其作爲一個字符串吐出。我沒有看到你可以用ToString()來做到這一點。我將不得不循環並創建一個stringbuilder並追加&添加一個「;」。
修訂使用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)
對不起,我改變了這個問題,我的錯誤 – PositiveGuy 2010-06-28 19:16:01
我已經更新了匹配的答案。 – 2010-06-28 19:17:56
+1 .Net 4枚舉字符串。加入 – 2010-06-28 22:19:58
string.Join(";", myList.ToArray());
只需使用join
string combinedString = String.Join(";", arrayName);
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);
您也可以使用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();
遺憾是列表沒有列出 –
PositiveGuy
2010-06-28 19:15:40
我需要一個列表轉換爲delmited字符串。所以「123; 343; 222」 –
PositiveGuy
2010-06-28 19:17:09
@coffeeaddict:可以編輯你的原始問題。這比希望人們閱讀評論中的所有細節更好。 – DOK 2010-06-28 19:20:24