我有一份现有控股清单,我想合并到另一个控股清单中。我知道使用 foreach 和 for 循环是一个不好的方法,但我想不出使用 LINQ 来减少它的好方法。
private void CombineHoldings(List<Holding> holdingsToAdd, ref List<Holding> existingHoldings)
{
foreach (Holding holdingToAdd in holdingsToAdd)
{
Boolean found = false;
for (int i = 0; i < existingHoldings.Count; i++)
{
if (existingHoldings[i].Sector == holdingToAdd.Sector)
{
found = true;
existingHoldings[i].Percentage += holdingToAdd.Percentage;
}
}
if (!found)
existingHoldings.Add(holdingToAdd);
}
foreach (Holding holding in existingHoldings)
holding.Fund = "Combined Funds";
}