我很惊讶,这段代码工作:
string category = null; Category Category = null; int categoryId = 0; var products = repository.Products .Where(p => category == null || p.CategoryID == categoryId) .ToList();
但下面的代码失败:
string category = null; Category Category = null; int categoryId = 0; var products = repository.Products .Where(p => category == null || p.CategoryID == Category.CategoryID) .ToList();
我知道问题是,即使我使用||运算符 – 它不会像我想象的那样工作.
在第二个示例中为什么要查看类别 – 即使类别值为null.不会短路吗?