Lambdas machen das Leben schön. Oder: wie caste ich ein Array?

by AlexanderZeitler 4. April 2010 13:56

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 ;-)

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war, bitte "kicken" sie ihn.
kick it on dotnet-kicks.de

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Powered by BlogEngine.NET
Theme by Alexander Zeitler

Search

Community