如何使用LINQ将<string,list <string >>减少为<string,string>?

dro*_*ing 3 c# linq dictionary

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

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

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

oct*_*ccl 7

试试:

.ToDictionary(x => x.Key, x=> x.Value.FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)

字典的值是a List<string>,因此您可以使用IEnumerable<T>扩展方法.现在有几个选项可以获得第一个元素.看一下这篇文章了解更多细节

  • @BradleyUffner如果他们总是期望一个,那么应该使用`Single`. (2认同)