我在尝试使用 linq 进行 GroupBy 时遇到了一些问题,虽然它有效,但只有在我消除代码的一个元素时才有效。
nestedGroupedStocks = stkPositions.GroupBy(x => new { x.stockName,
x.stockLongshort,x.stockIsin, x.stockPrice })
.Select(y => new stockPos
{
stockName = y.Key.stockName,
stockLongshort = y.Key.stockLongshort,
stockIsin = y.Key.stockIsin,
stockPrice = y.Key.stockPrice,
stockQuantity = y.Sum(x => x.stockQuantity)
}).ToList();
上面的代码将我的股票头寸和包含 47 个条目的列表中的结果分组,但它没有做的是汇总不同数量的重复股票......
nestedGroupedStocks = stkPositions.GroupBy(x => new { x.stockName,
x.stockIsin, x.stockPrice })
.Select(y => new stockPos
{
stockName = y.Key.stockName,
stockIsin = y.Key.stockIsin,
stockPrice = y.Key.stockPrice,
stockQuantity = y.Sum(x => x.stockQuantity)
}).ToList();
但是,如果我消除“x.longshort”,那么我会得到想要的结果,总共有 34 只股票,但是列表中的所有 longshort 元素都是空的......
它让我发疯:-)