如何将一个int元素与一个列表int进行比较

时间:2018-08-24 15:30:14

标签: c# asp.net asp.net-mvc linq

我正在尝试将我的列表与一个查询中的一个id元素进行比较,我在学校里这样做,但是我不知道如何做。

List<int> list = (from d in db.Desv 
                  where d.LastDesvId != null 
                  select d.DesvId).ToList();

ViewBag.Desv = new SelectList(db.Desv
                                 .Where(x => x.state.Equals("Proc") && x.DesvId != list)
                                 .OrderBy(y => y.DesviacionId), "Id", "Id");

1 个答案:

答案 0 :(得分:0)

如果元素在列表中,则

Contains(T element)返回true,否则返回false。因此,您想要的代码是:

            List<int> list = (from d in db.Desv
                          where d.LastDesvId != null
                          select d.DesvId).ToList();

        ViewBag.Desv = new SelectList(db.Desv
                                         .Where(x => x.state.Equals("Proc") && !list.Contains(x.DesvId))
                                         .OrderBy(y => y.DesviacionId), "Id", "Id");