2013-07-26 13 views
8

最終日の株価は、次の日の株価である必要があります。株価データはLINQで翌日に繰り越されます

私はいずれかが、私はこの

のように印刷する必要がある。この

を解決するために助けることができるしてください。この

var k = INV_STOCKs.Select(x => 
    new DemoItemV1 
    { 
     AreaId = x.STOCK_DATE, 
     CategoryTitle = x.STOCK_QTY 
    }) 
    .AsEnumerable() 
    .Select((x, i) => { x.ID = i + 1; return x }) 
    .ToList(); 

表構造

ID、STOCK_DATE、STOCK_QTY

を試してみました

Date   Opening Stock  Closing Stock 
01/01/13     0     5 
01/02/13     5     10 
01/03/13     10     15 
01/04/13     15     22 
01/05/13     22     30 

ありがとうございます。

+0

あなたがしようとしたものに間違っていましたか? – Arran

+1

このクエリは質問に関連付けられているようには見えません。あなたの問題を説明してください。私にとってはひどく不明です。 – wudzik

+0

@ wudzik日付、開始日、終了日を印刷する必要があります –

答えて

3

は、「私はそれに株式を閉じ、株式を開け、日付を印刷する必要がある」

INV_STOCKs.GroupBy(x=>x.STOCK_DATE).ForEach(group=> 
{ 
    var g = group.OrderBy(x.ID); 
    Print(g.First().STOCK_DATE); //Date 
    Print(g.First().STOCK_QTY); //Opening stock 
    Print(g.Last().STOCK_QTY); //Closing stock 
}); 

印刷はもちろん、あなたが3 paramametersか何かで一つの方法を使用することができ、あなたにこの値を印刷するいくつかの方法です。 )

EDIT:リストでそれを格納する :

class StockStore 
{ 
    public int OpeningStock; 
    public int ClosingStock; 
    public DateTime Date; 
} 

var list = new List<StockStore>(); 

INV_STOCKs.GroupBy(x=>x.STOCK_DATE).ForEach(group=> 
{ 
    var g = group.OrderBy(x.ID); 
    list.Add(new StockStore 
    { 
     OpeningStock = g.First().STOCK_QTY, 
     ClosingStock = g.Last().STOCK_QTY, 
     Date = g.First().STOCK_DATE 
    }); 
}); 
+0

私はそれを印刷する必要はありません。私は必要なフォーマットでデータ全体を保持するリストが必要です。 –

+0

が編集されました。あなたのオープン/クローズ在庫はリスト – wudzik

+0

に保存されました。ありがとう@wudzik、本当にうまくいきました。あなたは非常に有益です、神はあなたを祝福します。 –

0

これらの行に何かがあります。

var lastStockItem = INV_Stocks 
     .OrderByDescending(x=>x.StOCK_Date) 
     .FirstorDefault(); 

その日の最後の在庫アイテムを取得する必要があります。

関連する問題