var query=  from item in books
              select new { item.name } 返回的结集 query 不确定类型  但我想将这个集合以参数形式传给另一个方法。 如何声明参数类型?或者说  如何指定  select new { item.name } 返回对象的类型?

解决方案 »

  1.   

    自定义类 作为返回结果:
     List<Test> GetTest()
    {
     var query=  from item in books
                  select new Test{ ID=item.id,Name=item.name } ;
      return query.ToList();
    }
    class Test
    {
      public int ID{get;set;}
      public string Name{get;set;}
    }
      

  2.   

    List<string> query =  (from item in books
                          select item.name).ToList();让它有类型不行?
      

  3.   

    void AddItem(IQueryable qb)传递时用query..AsQueryable()作为参数
      

  4.   


    当你select后只有一个字段时  直接返回该字段的类型 任务返回类型即可 即list<string>
    如果你select后是item的所有字段时: 返回list<book>
    如果你select后是不定字段数时 就要算定类了
      

  5.   

    自定义类型
    (from ...select new A{name=item.name }).ToList(); public class A
    {
    public string name{get;set;}
    }