2012-06-30 17 views

回答

7
var strings = dict.Select(item => string.Format("{0}, {1}", item.Key, item.Value)); 

注意它返回一個枚舉。無論你想要的結果在string[]List<string>形式,你應該使用分別.ToArray().ToList()

+1

這既不是數組,也不是一個列表。您需要用'.ToList()'或'.ToArray()'來實現它作爲收藏品,現在它只是可以從字典中讀取一個枚舉。 – Guffa

+0

@Guffa是的,那是真的。我故意拋出它,但我想根據這個問題,它應該引起OP的注意。 – Marlon

1

你可以這樣說:

string[] arr = 
    theDictionary 
    .Select(kvp => kvp.Key.ToString() + ", " + kvp.Value.ToString()) 
    .ToArray(); 
1

簡單的答案是遍歷字典,和值複製到一個字符串列表。

Dictionary<int, long> dict = new Dictionary<int, long>(); 

// If you like Linq. Stick a .ToArray() or .ToList() at the end, or leave it as IEnumerable<string> 
var stringList = dict.Select(kvp => kvp.Key.ToString() + ", " + kvp.Value.ToString()); 

// If you don't like Linq. 
List<string> stringList2 = new List<string>(); 
foreach (KeyValuePair<int, long> kvp in dict) 
{ 
    stringList2.Add(kvp.Key.ToString() + ", " + kvp.Value.ToString()); 
} 
相關問題