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();