lambda表达式中的OR语句

时间:2013-04-10 20:44:39

标签: c# lambda

做这样的事情的正确方法是什么。

db.Tasks.Where(t => {t.CategoryId == 1 || t.CategoryId == 2) ||  t.CategoryId == 3)}).ToList();

2 个答案:

答案 0 :(得分:4)

您的括号目前是错误的,无论是花括号还是普通括号。你实际上并不需要表达式中的任何括号 - 这很好(为了清楚起见重新格式化):

var list = db.Tasks
             .Where(t => t.CategoryId == 1 || 
                         t.CategoryId == 2 ||
                         t.CategoryId == 3)
             .ToList();

答案 1 :(得分:1)

lambda表达式就是这样 - 它由一个普通的表达式组成。 (例如a || b || c

大括号用于陈述,而不是表达 只需删除{}即可。

你也有一些迷路)