3x das Selbe – nur kürzer und schöner

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);
This entry was posted in .net, coding. Bookmark the permalink.

One Response to 3x das Selbe – nur kürzer und schöner

  1. 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 ^^)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>