我正在尝试为一个linq提供程序解析一个表达式树,然后遇到一个与布尔有点麻烦的问题。
我可以解析这个问题。
var p = products.Where(x=>x.IsAvailable == true).ToList();
然而当它写得像这样?
var p = products.Where(x=>x.IsAvailable).ToList();
我只有一个会员才能看到,我无法看到我如何推断它是真还是假(!x.IsAvailable)。任何帮助都会很棒。
感谢。
答案 0 :(得分:1)
希望这有帮助,
第一个有表达式树,如下所示。
RETURN ( Binary Expression (MemberAccess, Constant) )
第二个具有表达式树,如下所示。
RETURN ( MemberAccess )
由于member的类型为boolean,因此其值决定了执行的状态。