从字典C#中获取值的计数

Nov*_*orm 2 c# debugging dictionary for-loop

我有一个DictionaryID作为键,列表列表作为值.我想知道列表中有多少列表.当我在调试时查询它时,这似乎给出了正确的值,但是当我去尝试访问该数据时,它只给出1而不是2的数量.我确定这是我缺少但我不能放的东西我的手指在上面.

这是我通过调试检查时的计数: 在此输入图像描述

当我尝试访问2的计数时,就是这样: 在此输入图像描述

整个方法是:

public static List<string> getStatisticsCSVHeaders(List<Items> itemList, Dictionary<int, List<List<Statistic>>> availableStats)
{
    List<string> topRow = new List<string>();

    for (int i = 0; i < availableStats.Values.Count; i++)
    {
        topRow.Add("Phase " + (i+1));
        for (int k = 0; k < itemList.Count; k++)
            topRow.Add(getMetricHeader(itemList[k], true));
    }

    return topRow;
}
Run Code Online (Sandbox Code Playgroud)

我想将列表中的列表数作为该行的计数器i < availableStats.Values.Count.

编辑:我应该提到我已经尝试availableStats.Values[0].Count但这不会编译.

Mar*_*zek 5

调试器显示您的字典中有一个项目,该项目是包含2个元素的列表.因为你的代码占用了字典中的项目数,你得到1.

要获取该字典中所有列表中所有项的数量,请尝试LINQ和Sum:

availableStats.Values.Sum(x => x.Count)
Run Code Online (Sandbox Code Playgroud)