recorrer index for array c# list foreach mutability

c# - index - ''Lista<T>.ForEach()'' y mutabilidad



recorrer array c# foreach (2)

Quiero traducir todos los puntos en una List<T> . Esto funciona:

for (int i = 0; i <PolygonBase.Count; ++i) { PolygonBase[i] = PolygonBase[i] + MousePos; }

Pero el uso de List<T>.ForEach no:

PolygonBase.ForEach(v => v += MousePos);

Ideas?



Su código actual simplemente está reasignando la variable local v a un nuevo valor, no se refiere al valor original en la lista. Es el equivalente de escribir:

foreach(int v in PolygonBase) { v += MousePos; }

Para volver a escribir el valor original, use ConvertAll :

PolygonBase.ConvertAll(v => v += MousePos);