Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ中的股票数据结转至第二天_C#_Linq - Fatal编程技术网

C# LINQ中的股票数据结转至第二天

C# LINQ中的股票数据结转至第二天,c#,linq,C#,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(); 表结构

最后一天的收盘价应为第二天的开盘价

我试过这个

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

提前谢谢。

这方面的东西

    var lastStockItem = INV_Stocks
         .OrderByDescending(x=>x.StOCK_Date)
         .FirstorDefault();
这将为您提供当天的最后一个库存项目。

我需要打印日期、期初库存、期末库存

Print是一种打印此值的方法,当然您可以使用一种带有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
   }); 
});
class仓库
{
公开股票;
公开发行股票;
公共日期时间日期;
}
var list=新列表();
INV\u STOCKs.GroupBy(x=>x.STOCK\u DATE).ForEach(group=>
{
var g=组订购方(x.ID);
列表。添加(新库存)
{
OpeningStock=g.First().库存数量,
ClosingStock=g.Last().库存数量,
日期=g.首次().库存日期
}); 
});

您尝试的内容有什么问题?此查询看起来与问题无关。请解释你的问题。对我来说,这太不清楚了。@wudzik我需要打印日期、开盘价、收盘价it@NavjuNav看看我的答案,这就是你需要的吗?我不需要打印。我需要一份以所需格式保存所有数据的列表。经过编辑,现在您的期初/期末库存已存储在ListThank@wudzik中,这真的很有效。你很有帮助,上帝保佑你。
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
   }); 
});