我想返回包含类型B的对象的键列表(类型A)。类型B对象具有将用于比较的属性,并且我不能使用包含。 我想做一个A
列表Dictionary<A, List<B>> objAwithB = new Dictionary<A, List<B>>();
B objB = new B();
objB.prop1 = "AAA"
objAwithB.Where(g => g.Value.Where(a=>a.Equals(objB.prop1))).Select(g => g.Key).ToList();
但它不起作用
答案 0 :(得分:0)
我想你想要这样的东西:
var myKeys = objAwithB.Where(
kvp => kvp.Value.Any(v => v.prop1.Equals(objB.prop1) )
).Select(kvp => kvp.Key);
答案 1 :(得分:0)
看起来你想要:
objAwithB.Where(g => g.Value.Any(b=>b.prop1.Equals(objB.prop1)))
.Select(g => g.Key).ToList();
答案 2 :(得分:0)
任何()都应该做到这一点:
Dictionary<A, List<B>> objAwithB = new Dictionary<A, List<B>>();
B objB = new B();
objB.Prop1 = "AAA";
objAwithB.Where(g => g.Value.Any(x => x.Prop1 == objB.Prop1))
.Select(g => g.Key)
.ToList();