Я должен игнорировать элементы (Список), тип продукта которых не содержится в данной строке, которая находится внутри словаря.
Я попытался выполнить итерацию словаря в цикле foreach и проверить тип продукта внутрицикл, и он работает нормально, но я хотел бы использовать без итерации, есть ли способ достичь этого?
private ConcurrentDictionary<string, List<PAAMsg>> FilterAllowedProductsTrades(ConcurrentDictionary<string, List<PAAMsg>> allPAA)
{
ConcurrentDictionary<string, List<PAAMsg>> newPAA = new ConcurrentDictionary<string, List<PAAMsg>>();
string productType = "BFO,BFT,BOND FWD,CAP,FEE,FEX,FRA,FUT,FxFUT,MFO,SWP,OFT,SWT";
foreach (var item in allPAA)
{
newPAA.TryAdd(
item.Key,
item.Value.FindAll((x => productType.Split(',').Contains(x.ProductType)))
.ToList());
}
return newPAA;
}
Я хочу избежать итерации ниже и должен быть в одной строке.
foreach (var item in allPAA)
{
newPAA.TryAdd(
item.Key,
item.Value.FindAll((x => productType.Split(',').Contains(x.ProductType))).ToList());
}