代码之家  ›  专栏  ›  技术社区  ›  sipsorcery

如果局部列表变量

  •  0
  • sipsorcery  · 技术社区  · 14 年前

    我简化了我的查询,但简而言之,下面的查询有效:

    var query = from asset in context where new[] { 1, 2, 3 }.Contains(asset.code) select asset
    

    此查询也可以工作:

    var query = from asset in context where new List<int>() { 1, 2, 3 }.Contains(asset.code) select asset
    

    List<int> myList = new List<int>(){1, 2, 3};
    var query = from asset in context where myList.Contains(asset.code) select asset
    

    有人解决了这类问题吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Amy B    14 年前

    你发布的应该有用,这让我相信你并没有真正发布损坏的代码。

    确保MyList变量是 List<int> 而不是 IList<int> ... 如果变量类型是 ,你会得到例外。

        2
  •  0
  •   Matt Mitchell    14 年前

    这对我在LINQPad很管用:

    List<int> myList = new List<int>(){1, 2, 3}; /* Fixed your compiler error here */
    var query = from asset in assets where myList.Contains(asset.code) select asset; 
    

    因此,我想你实际上并没有使用 List IEnumerable 或者类似的东西?