Select - Anonymous Types 2

Query
public void Linq10()
{
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };

var digitOddEvens =
from n in numbers
select new { Digit = strings[n], Even = (n % 2 == 0) };

foreach (var d in digitOddEvens)
{
Console.WriteLine("The digit {0} is {1}.", d.Digit, d.Even ? "even" : "odd");
}
}
Lambda Expression
public void DataSetLinq10()
{
var numbers = testDS.Tables["Numbers"].AsEnumerable();
var digits = testDS.Tables["Digits"];
string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };

var digitOddEvens = numbers.
Select(n => new
{
Digit = digits.Rows[n.Field("number")]["digit"],
Even = (n.Field("number") % 2 == 0)
});

foreach (var d in digitOddEvens)
{
Console.WriteLine("The digit {0} is {1}.", d.Digit, d.Even ? "even" : "odd");
}
}
Output
The digit five is odd.
The digit four is even.
The digit one is odd.
The digit three is odd.
The digit nine is odd.
The digit eight is even.
The digit six is even.
The digit seven is odd.
The digit two is even.
The digit zero is even.
Related Tutorial