【问题标题】:how can I compare one int element with a list int如何将一个 int 元素与一个列表 int 进行比较
【发布时间】:2018-08-24 15:30:14
【问题描述】:

我正在尝试将我的列表与查询中的一个 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");

【问题讨论】:

  • 你到底想做什么?查看特定的 int 是否在列表中?
  • lista 这是一个错字吗? lista 这里是什么?
  • 是的,具体的 int 应该在列表中
  • 你可以在这里使用.Contains() !list.Contains(x.DesvId)
  • @ProgramadorS 您只想知道它是否在列表中吗?或者你想从列表中提取一些东西?你需要更清楚

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


【解决方案1】:

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");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多