在 c# 或 vb.net 如何使用 LINQ 统计 Dictionary 中符合条件的对象数量?
Dictionary中的Value是一个自定义类型,其中有一个值为Bool型,请问,我应该如何利用LINQ统计该Dictionary中所有该值为True的记录数量?...
Dictionary 中的 Value 是一个自定义类型,其中有一个值为 Bool 型,请问,我应该如何利用 LINQ 统计该 Dictionary 中所有该值为 True 的记录数量?
展开
展开全部
见以下示例
using System;
using System.Collections.Generic;
using System.Linq;
namespace MyApplication
{
class Program
{
public class MyClass
{
public string Name { get; set; }
public bool IsTrue { get; set; }
}
static void Main(string[] args)
{
Dictionary<int, MyClass> dic =
new Dictionary<int, MyClass>();
//添加
dic.Add(1, new MyClass { Name = "张三", IsTrue = false });
dic.Add(2, new MyClass { Name = "张四", IsTrue = true });
dic.Add(3, new MyClass { Name = "张五", IsTrue = false });
dic.Add(4, new MyClass { Name = "张六", IsTrue = true });
dic.Add(5, new MyClass { Name = "张七", IsTrue = false });
int c1 = dic.Count(e => e.Value.IsTrue == true);
Console.WriteLine(c1); //输出2
int c2 = dic.Count(e => e.Value.IsTrue == false);
Console.WriteLine(c2); //输出3
// 或者
var qry1 = from x in dic
where x.Value.IsTrue == true
select x;
int c3 = qry1.Count();
Console.WriteLine(c3); //输出2
var qry2 = from x in dic
where x.Value.IsTrue == false
select x;
int c4 = qry2.Count(); //输出3
Console.WriteLine(c4);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询