2016-05-14 65 views
0

我試圖獲得這些結果發表在2016年的項目我用這樣一個簡單的查詢:爲什麼我不能使用linq獲取全年的物品?

var buff = from p in data 
      where p.Date >= Convert.ToDateTime("2016-01-01") 
       && p.Date <= Convert.ToDateTime("2016-12-31") 
      select new 
      { 
       p.Date, 
       p.High, 
       p.Low 
      }; 

但它給我的只有第10項。我得到了屬於may(yyyy-05-dd)的物品。爲什麼我的查詢停止?我怎樣才能得到剩餘的項目(yyyy-all months-dd)?

日期的一部分:

Date,Open,High,Low,Close,Volume,Adj Close 
2016-05-06,49.919998,50.389999,49.66,50.389999,24715600,50.389999 
2016-05-05,49.869999,50.299999,49.73,49.939999,25309500,49.939999 
2016-05-04,49.84,50.060001,49.459999,49.869999,24171400,49.869999 
2016-05-03,50.34,50.41,49.599998,49.779999,26196100,49.779999 
2016-05-02,50.00,50.75,49.779999,50.610001,33004100,50.610001 
2016-04-29,49.349998,50.25,49.349998,49.869999,48339700,49.869999 
2016-04-28,50.619999,50.77,49.560001,49.900002,42758200,49.900002 
2016-04-27,51.48,51.50,50.549999,50.939999,43145900,50.939999 
2016-04-26,52.259998,52.349998,51.09,51.439999,33262300,51.439999 

這是CSV文件。

+0

你檢查的異常查詢? – KAI

+0

你能否提供一個[最小,完整和可驗證的例子](http://stackoverflow.com/help/mcve)? –

+1

你的代碼沒有問題(雖然日期時間的解析有點代碼味,但它仍然應該正常工作)。數據庫中只有10個項目,或者您在其他地方過濾查詢。 – Rob

回答

1

試試這個:

var buff = from p in data 
      where p.Date.Year == 2016 
      select new 
      { 
       p.Date, 
       p.High, 
       p.Low 
      }; 
+0

對不起,但我給出了相同的結果。 – Geronimo

+0

看看我的**日期**我已添加更多信息。 – Geronimo

+0

我很抱歉。我在應用程序中發現了一個錯誤。你的回答完全正確。 – Geronimo

相關問題