3

我无法弄清楚为什么我不断收到此错误。请帮忙!!!

“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));
                }
                }
4

3 回答 3

5

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

using System.Linq;
于 2012-11-15T02:02:23.093 回答
3

你需要有

using System.Linq;

在文件的顶部。

于 2012-11-15T02:02:27.390 回答
3

此外,LINQ 在 Frameworks 3.5 及更高版本中。如果您使用的是 3.5 之前的 .NET 版本,则不支持 LINQ。

于 2012-11-15T02:04:51.923 回答