使用Linq计算列表列表中的元素数

时间:2019-01-24 16:26:33

标签: c# linq

我想在我的C#代码中使用一些LINQ来提高可读性。

给出

private IDictionary<T, ICollection<E>> myDict;

以集合为值的字典,如何使用LINQ确定所有集合中的元素总数?

public int AmountElements 
{
   get
   {
     return ??;
   }
}

2 个答案:

答案 0 :(得分:1)

要获取字典值中的元素总数:

myDict.Values.Sum(collection => collection.Count);

答案 1 :(得分:0)

您可以执行以下操作:

var count = myDict.SelectMany(d => d.Value).Count();

因此,您可以按照以下步骤编写AmountElements属性:

 public int AmountElements => myDict.SelectMany(d => d.Value).Count();