【问题标题】:Select error in Linq在 Linq 中选择错误
【发布时间】:2009-10-19 09:36:40
【问题描述】:

当我尝试代码时

Actor[] act =
new Actor[]
{
  new Actor
  {
    Name = "Jacky",
    ID = "JZ01",
    FilmList =
    {
      new Film
      {
        Title = "Twin Brothers",
        Period = Convert.ToDateTime("01/Nov/1993")
      },
      new Film
      {
        Title = "Police Story",
        Period = Convert.ToDateTime("05/Aug/1989")
      }
    }
  },
  new Actor
  {
    Name = "Tom Cruise",
    ID = "JZ09",
    FilmList = 
    {
      new Film
      {
        Title = "Mission Impossible I",
        Period = Convert.ToDateTime("01/Jun/1998")
      },
      new Film 
      {
        Title = "Mission Impossible II",
        Period = Convert.ToDateTime("05/Aug/2001")
      }
    }
  }  
};

class Actor
{
    string name;
    string id;
    List<Film> flm=new List<Film>();

     public string Name
     {
       get { return name; }
       set { name = value; }
     }

     public string ID
     {
          get { return id; }
          set { id = value; }
     }

     public List<Film> FilmList
     {
        get { return flm; }
        set { flm = value; }
     }

   }

  class Film
  {
     string title;
     DateTime period;

     public string Title
     {
       get { return title; }
       set { title = value; }
     }

     public DateTime Period
     {
         get { return period; }
         set { period = value; }
     }
   }

...主要() ..

var sqry = from actr in Actor select actr;

我收到“找不到查询模式的实现..找不到选择”。

我可以知道停止执行的原因吗?

【问题讨论】:

    标签: c# compiler-errors


    【解决方案1】:

    Actor 类没有实现IEnumerableIQueryable,因此您无法对其运行查询(无论如何Actor 是一种类型,而不是类型的实例)...

    您是说from actr in act select actr 吗?

    【讨论】:

      【解决方案2】:

      您不能直接在 Actor 类上进行选择,因为它没有实现 IEnumerableIQueryable。您应该改为查询 act 数组。

      【讨论】:

        猜你喜欢
        • 2021-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-07
        • 2021-12-11
        相关资源
        最近更新 更多