Es gibt Momente, da wird einem die Evolution des .NET Frameworks ziemlich deutlich vor Augen geführt.
So zum Beispiel beim Casten von Arrays – z.B. von object[] nach string[].
Die .NET Framework 1.x Variante könnte etwa so ausgesehen haben:
object[] objects = new object[];
//...
// Elemente zu “input” hinzufügen
//...
string[] strings = new string[objects.Length];
for (int index = 0; index < input.Length; index++)
{
strings[index] = (string)objects[index];
}
Mit dem .NET Framework 2.0 wurden Generics eingeführt, was die Sache schon erleichterte (die Deklaration von “objects” spare ich mir im weiteren):
string[] strings = Array.ConvertAll<object, string>(objects,
delegate(object obj)
{
return (string)obj;
});
Durch die Einführung von Lambda Expressions mit .NET 3.5 wurde die Lesbarkeit des Codes nochmal verbessert und die Tipparbeit reduziert:
string[] strings = Array.ConvertAll(objects, obj => (string)obj);
Der Lernaufwand lohnt sich also doch irgendwann ;-)
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5