2011-06-08 224 views

回答

4
string[] array = dictionary 
       .Select(kvp => string.Format("{0}={1}", kvp.Key, kvp.Value)) 
       .ToArray(); 
5

LINQ使這很容易:

string[] array = dictionary.Select(pair => string.Format("{0}={1}", 
                 pair.Key, pair.Value)) 
          .ToArray(); 

這需要的是IDictionary<TKey, TValue>實現事實的優點:IEnumerable<KeyValuePair<TKey, TValue>>

  • Select方法循環每對在字典中,運用給定的委託每一對
  • 我們的代表(用lambda expression指定)將一對轉換爲字符串,使用string.Format
  • ToArray調用序列轉換到一個數組

如果這是你已經看到LINQ的第一次,我強烈建議你看它多。這是一種處理數據的好方法。

在C#6,string.Format代碼可以與經內插字符串文字來代替,這使它更緊湊:

string[] array = dictionary.Select(pair => $"{pair.Key}={pair.Value}") 
          .ToArray(); 
相關問題