股票数据在LINQ中结转到第二天
本文关键字:第二天 LINQ 数据 | 更新日期: 2023-09-27 18:25:13
最后一天的收盘股票应该是第二天的开盘股票价值。
我试过这个
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,库存日期,库存数量
请任何人都能帮助解决这个
我需要像这个一样打印
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
提前谢谢。
"我需要打印日期、期初库存、期末库存"
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个参数的方法:)
编辑:将其存储在列表中:
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
});
});
沿着这些线的东西。
var lastStockItem = INV_Stocks
.OrderByDescending(x=>x.StOCK_Date)
.FirstorDefault();
这应该能让你买到当天的最后一件存货。