DevPinoy.org
A Filipino Developers Community
   
Generics and Code Vanity

I think the guys in the .NET Framework team has this thing about vanity. Yeah! I call it code vanity. Not that its bad.. but its just funny how code has been getting beautiful. more beautiful and even more beautiful as the evolution of .NET goes forward. And it's a great thing too!

Here's a look on how my code changed since i started working with .NET 2.0.

When i first started dealing with .NET 2.0. My iterating-thru-a-list code  looked like this:

//create a new list of numbers(int)
List<int> numberList = new List<int>();

//create a for loop that would iterate from 1 to 10
for (int number = 1; number <= 10; number++)
{
   // add the number to our list
   numberList.Add(number);
}

//iterate thru the list and print the contents of our list
foreach (int number in numberList)
{
   //print the number
   Console.WriteLine(number);
}

This is a common code structure for people moving from the old framework to the newer one. There's nothing wrong with the code but it seems that I am not using the full capability of what .NET 2.0 has to offer.

After several weeks I discovered Action delegates and List.ForEach and boy the code that i started writing looked even sexier!

//create a new list of numbers(int)
List<int> numberList = new List<int>();

//create a for loop that would iterate from 1 to 10
for (int number = 1; number <= 10; number++)
{
   // add the number to our list
   numberList.Add(number);
}

//Iterate thru the list using an Action delegate
numberList.ForEach(
                     delegate(int number)
                     {
                        //print the number
                        Console.WriteLine(number);
                     }
                  );

Ain't that sweet? Now my code looks cleaner, meaner and sexier :P

But then .NET 3.0 came and just when i thought good code was good enough the brainiacs from Redmond introduced another way of making code better. Lambda Expressions.

//create a new list of numbers(int)
List<int> numberList = new List<int>();
//add thew sequence of numbers
numberList.AddRange(Sequence.Range(1, 10));
//iterate and print
numberList.ForEach(i => Console.WriteLine(i) );

Oh Ma! When will this code vanity end?(just kidding) :P


Posted 05-09-2007 5:55 PM by keithrull

Comments

modchip wrote re: Generics and Code Vanity
on 05-09-2007 8:21 PM

Hmmmm... looks cool to me. :D

lamia wrote re: Generics and Code Vanity
on 05-09-2007 10:57 PM

I just hope they don't keep on adding features, only to be taken away later... :) Oh, maybe this would be sexier

List<Integer> numberList = new List<Integer>();

keithrull wrote re: Generics and Code Vanity
on 05-13-2007 7:39 PM

Hehehe! I know. I remember Java used to deprecate alot of features on every new release :P

Copyright DevPinoy 2005-2008