linq を使用して GroupBy を実行しようとしているという点で少し問題があります。これは機能しますが、コードの 1 つの要素を削除した場合にのみ機能します。
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要素はnullです...
それは私を夢中にさせます:-)