Ich entdecke neue C#-Features…für die einen sicher ein alter Hut und für die anderen sowieso ein Buch mit 7 Siegeln, aber für mich noch frisch und neu
//So hab ich es immer gemacht var particlesToRemove = new List<IParticle>(); foreach (var particle in Particles) { if(particle.LifetimeExceeded) { particlesToRemove.Add(particle); } } foreach (var particle in particlesToRemove) { Particles.Remove(particle); } //So geht es mit anonymen Funktionen Particles.RemoveAll(delegate(IParticle b) { return b.LifetimeExceeded; }); //Und so mit einem Lambda-Ausdruck Particles.RemoveAll(b => b.LifetimeExceeded);
Das Problem kenne ich.
Irgendwie kann ich mich mit der Lamdaform allerdings nicht so richtig anfreunden. Irgendwie geht mir da die Typsicherheit ein Stückchen zu weit flöten. (Nicht ganz so ätzend wie Variablen mit “var” zu deklarieren, aber immerhin ^^)