In meinem Code habe ich häufig die Sequenzen wie:Wie funktioniert das Listenverständnis (kompakte Möglichkeit, eine Liste in eine andere Liste umzuwandeln) in C#?
List<type1> list1 = ...;
List<type2> list2 = new List<type2>();
foreach(type1 l1 in list1)
{
list2.Add(myTransformFunc(l1));
}
In Python, ich es als
schreibenlist2 = [myTransformFunc(l1) for l1 in list1]
Gibt es eine kompakte Art und Weise es in C# zu schreiben?
Ihr Python Beispiel nicht wirklich eine Transformation, sondern eine Liste Verständnis. Siehe http://en.wikipedia.org/wiki/List_comprehension –
Beachten Sie, dass Eric Lippert in diesem Fall die Verwendung von Foreach empfiehlt. Ich bin ein großer Fan von List Comprehensions, aber nachdem ich seinen Beitrag dazu gelesen habe (http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx) war ich überzeugt. –