我无法弄清楚为什么我一直收到这个错误。请帮忙!!!
'System.Collections.Generic.List'不包含'Where'的定义,也没有扩展方法'Where'可以找到接受类型'System.Collections.Generic.List'的第一个参数'(你错过了使用指令或汇编引用吗?)
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));
}
}
答案 0 :(得分:4)
当您未包含Linq命名空间时,通常会发生这种情况,因此编译器无法找到像Where
这样的Linq扩展方法。尝试添加:
using System.Linq;
答案 1 :(得分:3)
你需要
using System.Linq;
位于文件顶部。
答案 2 :(得分:3)
此外,LINQ在Frameworks 3.5及更高版本中。如果您使用的是3.5之前的.NET版本,则不支持LINQ。