2
我想將字典轉換爲C#中的數組。該陣列應採用以下格式:將字典<字符串,字符串>轉換爲數組
string[] array = {"key1=value1","key2=value2","key1=value1"}
如何有效地做到這一點?
我想將字典轉換爲C#中的數組。該陣列應採用以下格式:將字典<字符串,字符串>轉換爲數組
string[] array = {"key1=value1","key2=value2","key1=value1"}
如何有效地做到這一點?
string[] array = dictionary
.Select(kvp => string.Format("{0}={1}", kvp.Key, kvp.Value))
.ToArray();
LINQ使這很容易:
string[] array = dictionary.Select(pair => string.Format("{0}={1}",
pair.Key, pair.Value))
.ToArray();
這需要的是IDictionary<TKey, TValue>
實現事實的優點:IEnumerable<KeyValuePair<TKey, TValue>>
:
Select
方法循環每對在字典中,運用給定的委託每一對string.Format
ToArray
調用序列轉換到一個數組如果這是你已經看到LINQ的第一次,我強烈建議你看它多。這是一種處理數據的好方法。
在C#6,string.Format
代碼可以與經內插字符串文字來代替,這使它更緊湊:
string[] array = dictionary.Select(pair => $"{pair.Key}={pair.Value}")
.ToArray();