如何使用LINQ来减少<string,list <string>&gt;到<string,string>?

时间:2016-07-05 14:25:41

标签: c# linq dictionary

我正在调用返回类型为Dictionary<string, List<string>>的方法。

我调用它的方式我期望List<string>总是只有1个字符串元素。为了简化这一点,我想使用Linq将返回类型转换为Dictionary<string, string>

我尽可能使用.ToDictionary(x => x.Key, x=> x.Value);,但我很难理解如何获得正确的值。使用LINQ可以实现这样的转换吗?

1 个答案:

答案 0 :(得分:7)

尝试:

.ToDictionary(x => x.Key, x=> x.Value.FirstOrDefault());

您的字典值为List<string>,因此您可以使用IEnumerable<T>扩展方法。现在有几个选项可以获得第一个元素。看看这个article了解更多详情