list.where 的编译错误

Rik*_*Rik 3 c# generics list where-clause

我不明白为什么我不断收到此错误。请帮忙!!!

“System.Collections.Generic.List”不包含“Where”的定义,并且找不到接受“System.Collections.Generic.List”类型的第一个参数的扩展方法“Where”(您是否缺少 using 指令或装配参考?)

using System.Collections.Generic;
using System.Collections;
    public class HistTradePlot : Indicator
    {
        private class Traid
            {
                public DateTime Date { get; set; }
                public int Index { get; set; }
                public int Buy { get; set; }
                public int Price {get;set;}
            }
        List<Traid> traids = new List<Traid>();

            if (Bars.FirstBarOfSession)
                {Bars.Session.GetNextBeginEnd(BarsArray[0], 0, 
out sessionBegin, out sessionEnd);
                    var sessionTrades = traids.Where(t => t.Date > sessionBegin && t.Date <= sessionEnd);
                Print("Session Start: " + sessionBegin + " Session End: " + sessionEnd);
                for (int i=0;i<sessionTrades.Length();i++){
                Print(Convert.ToString(sessionTrades[i].Date));
                }
                }
Run Code Online (Sandbox Code Playgroud)

McG*_*gle 6

当您没有包含 Linq 命名空间时,通常会发生这种情况,因此编译器无法找到 Linq 扩展方法,例如Where. 尝试添加:

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

  • 如果这不能解决问题,请确保您的项目具有对“System.Core”程序集的引用。 (2认同)

Dan*_*ite 5

你需要有

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

在你的文件的顶部。