如何在元素(0)处返回具有最小值的字典

时间:2015-06-22 09:51:52

标签: c# linq dictionary

在下面的示例中,如何返回元素(0)处具有最小值的字典项? (我修改了声明)

 Dictionary<int, List<string>> dictSource2 = new Dictionary<int, List<string>>
    {
    { 1, new List<string> { "5", "Programmers" }},
    { 2, new List<string> { "12", "Testers" }},
    { 3, new List<string> { "2", "Designers" }},
    };

我想从上面的字典中返回以下数据 -

2, "Designers"

我写的如下:

string sminValue= dictSource2.Min(pair => pair.Value.ElementAt(0));

当ElementAt(0)的值没有记录时,我的解决方案正常工作,即“Designers”没有记录,但否则失败。谁能在这里指导我?

1 个答案:

答案 0 :(得分:1)

正如@HimBromBeere指出的那样,我修改了我的代码如下:

var minValue = dictSource.Min(pair =&gt; Convert.ToInt32(pair.Value.ElementAt(0)));

它现在有效。

理想情况下,我应该选择自定义列表而不是列出字符串列表。