使用IEnumerable的第一个字符串将IDictionary<TranslatorTags, IEnumerable<string>>
转换为IDictionary<TranslatorTags, string>
的优雅方法是什么?我在想
var result = results.ToDictionary(x => x.Key, x => x.Value.First());
但也许有更优雅的方式?
更新。 Per @spender评论
var result = results.ToDictionary(x => x.Key, x => x.Value == null ? null : x.Value.FirstOrDefault());
答案 0 :(得分:4)
var result = source.ToDictionary(s => s.Key, s => s.Value?.FirstOrDefault());
答案 1 :(得分:0)
老学校的方式总是如此:
IDictionary<TranslatorTags, string> result = new Dictionary<TranslatorTags, string>();
foreach (var item in source)
result.Add(item.Key, item.First());