如何使用Lambda或Linq语句执行以下操作?

1 c# linq lambda expression

我有这个函数需要转换为lambda语句:

public int someFunction()
{
    int pCount = 0;
    foreach (Top top in Tops)
    {
        foreach (P p in top.TopPs)
        {
            pCount++;
        }
    }
    return pCount;
}
Run Code Online (Sandbox Code Playgroud)

添加更多清晰度:

Tops和top.TopPs扩展了ObservableCollection

我该怎么做?

Ant*_*ram 8

int count = Tops.Sum(top => top.TopPs.Count());
Run Code Online (Sandbox Code Playgroud)


Luk*_*keH 5

你的意思是LINQ查询?

int count = Tops.SelectMany(x => x.TopPs).Count();
Run Code Online (Sandbox Code Playgroud)