1
Mon VS2010 en utilisant ReSharper qui invite à convertir foreach
en LINQ. Il convertit deConversion automatique avec LINQ
foreach (var item in quotePrice.ExtraServiceBreakdown)
{
hazmatRate = (quoteRequest.IsHazMat && item.Id == VitranHazmatCode) ?
item.Cost : hazmatRate;
}
à
hazmatRate = quotePrice.ExtraServiceBreakdown.Aggregate(
hazmatRate, (current, item) =>
(quoteRequest.IsHazMat && item.Id == VitranHazmatCode) ?
item.Cost : current);
J'ai deux questions ici,
- Qu'est-
current
voulait dire? Est-ce que cela pointe vers la variablehazmatRate
? - Que fait réellement
Aggregate
?
Le problème est que vous définissez une variable dans un 'foreach' sans la casser, d'où votre toujours l'écraser. Ce n'est pas efficace et peut-être sujet aux erreurs (si vous ne voulez pas la dernière valeur). –
À la question 2, avez-vous essayé de lire la documentation sur Agrégat? –
@TimSchmelter, pouvez-vous expliquer un peu plus avec cela? ** sans le casser, ** – DON