这不能编译:Lambda表达式与<bool>和System.Nullable <bool>
void Foo()
{
using (var db = new BarDataContext(ConnectionString))
{
// baz is type 'bool'
// bazNullable is type 'System.Nullable<bool>'
var list = db.Bars.Where(p => p.baz && p.bazNullable); // Compiler:
// Cannot apply operator '&&' to operands of type
// 'System.Nullable<bool> and 'bool'
}
}
我真的有过两分,我第一次使用的条件,然后通过该列表与运行,使这个可空条件,还是有更好的干净平滑的最佳实践方式来做到这一点?
+1这一个。不错。我不知道有'GetValueOrDefault'。 –
我无法在LINQ查询中使用'GetValueOrDefault',但明确地添加了'== true'。 – Vivelin
您可以在GetValueOrDefault(false)中传递默认值。 如果bool包含空值,它将返回false。在LINQ where条款中帮助我极大。 –