Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#在where子句中列出_C#_Asp.net_List_Foreach_Where - Fatal编程技术网

C#在where子句中列出

C#在where子句中列出,c#,asp.net,list,foreach,where,C#,Asp.net,List,Foreach,Where,我想用where子句创建一个查询,它将遍历列表中的每个元素 但我得到的“运算符”==”不能应用于“int”和“List”类型的操作数 var result = (from n in School.Teacher where n.UserID == ID select n.ClassID).Distinct().ToList(); var events = School.Events.To

我想用where子句创建一个查询,它将遍历列表中的每个元素

但我得到的“运算符”==”不能应用于“int”和“List”类型的操作数

var result = (from n in School.Teacher
                          where n.UserID == ID
                          select n.ClassID).Distinct().ToList();



var events = School.Events.ToList().Where(xx => xx.ClassID == result);
我不是在寻找这样的解决方案:

var events = School.Events.ToList().Where(xx => xx.ClassID == result[0] || xx.ClassID == result[1] || xx.ClassID == result[2]);
因为列表中的记录数每次都可能不同

Foreach before查询不可能,因为在方法末尾,我有:

return new JsonResult { Data = events, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
你有什么想法吗


感谢您的回复。;-

您的结果变量是一个整数列表。您可以使用

var events = School.Events.ToList().Where(xx => result.Contains(xx.ClassID));

您的结果变量是一个整数列表。您可以检查列表是否包含枚举的classid,并使用

var events = School.Events.ToList().Where(xx => result.Contains(xx.ClassID));

结果也是一个列表。这就是为什么您需要这样检查:

var events = School.Events.Where(xx => result.Contains(xx.ClassID));

结果也是一个列表。这就是为什么您需要这样检查:

var events = School.Events.Where(xx => result.Contains(xx.ClassID));
result.Contains(xx.ClassId)
?如果答案是这样,那应该用谷歌搜索2秒钟……如果不是这样,你需要更好地解释你想要实现的目标。
result.Contains(xx.ClassId)
?如果这是答案,那应该花2秒钟的时间在谷歌上搜索……如果不是,你需要更好地解释一下你想要实现的目标。