I was working on some old code which created three DropDown controls with hours, minutes and seconds. I wanted to LINQify it using the LINQ Range method.
I was working on some old code which created three DropDown controls with hours , minutes , and seconds .
This was the original code:
for ( var i = 0 ; i < 24 ; i ++ )
Hour . Items . Add ( new ListItem ( i . ToString ()));
for ( var i = 0 ; i < 60 ; i ++ )
Minute . Items . Add ( new ListItem ( i . ToString ()));
Second . Items . Add ( new ListItem ( i . ToString ()));
I wanted to “LINQify” this code using the LINQ range method:
Enumerable . Range ( int start , int count )
This returns an IEnumerable<int>
collection with the corresponding range of values.
So, my DropDown controls are now created with the following code:
. Select ( i => new ListItem ( i . ToString ())). ToArray ());
. Select ( i => new ListItem ( i . ToString ())). ToArray ());
. Select ( i => new ListItem ( i . ToString ())). ToArray ());
This could be optimized by using a variable for the sixty values which could be used twice.