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はFrameworks3.5以降に含まれています。3.5より前のバージョンの.NETを使用している場合、LINQはサポートされていません。

于 2012-11-15T02:04:51.923 に答える