2016-11-04 80 views
2

我有一個非常簡單的問題,但似乎無法弄清楚。我創建了一個字符串列表。但我想將列表格式化爲一個看起來像一個數組的字符串。列入格式化字符串

因此,例如,這是我的名單

List<string> testData = new List<string>(); 
testData.Add("test 1"); 
testData.Add("test 2"); 

我想,那麼所有的數據格式化爲一個字符串,希望看起來像這樣:

['test 1', 'test 2'] 

伊夫試圖用的string.join但那不會得到我期待的結果。

+1

執行報價必須是單引號?如果沒有,你可以看看JSON.NET。 –

+0

我會去繼承'List '的自定義類,然後重寫ToString方法 – Alex

+0

是的單引號 – jsg

回答

4

我試圖使用一個字符串。加入但沒有得到我期待的結果。

確實如此。然而,字符串格式可以幫助:

var res = "[" + string.Join(", ", testData.Select(s => $"'{s}'")) + "]"; 

此前C#6,您將需要使用string.Format明確:

var res = "[" + string.Join(", ", testData.Select(s => string.Format("'{0}'", s))) + "]"; 
4
var result = "[" + String.Join(", ", testData.Select(c => "'" + c + "'")) + "]"; 
+0

您忘記關閉外部圓括號 – Innat3

+0

我編輯我的回答 – selami

0
string result = "[" + string.Join(",", testData.Select(i => "'" + i + "'").ToArray()) + "]"; 
+0

不再需要添加.ToArray()。它沒有ToArray()擴展。 – selami

+0

這很奇怪,我想gettting:無法從'System.Collections.Generic.IEnumerable '轉換爲'string []' – Basvo

+0

使用.NET Frameork 4.0,Join接受IEnumerable作爲參數。 – selami