• Fabian Wetzel
  • 2008-08-10
  • 1 min. read

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:

1
2
3
4
5
6
7
8
9
10
11
12
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:

1
2
3
4
Particles.RemoveAll(delegate(IParticle b)
{
return b.LifetimeExceeded;
});

Und so mit einem Lambda-Ausdruck:

1
Particles.RemoveAll(b => b.LifetimeExceeded);