Friday, 25 April 2014

Ordering generic list IEnumerable

string[] musos = { "Roger Waters", "Rick Wright", "David Gilmour"};
IEnumerable query = musos.OrderBy(m => m.Split().Last());
Using Inner Query

string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay", "Maya" };
var outerQuery = names
 .Where(n => n.Length == names.OrderBy(n2 => n2.Length)
 .Select(n2 => n2.Length).First()
 ); //output Tom,Jay

Same query as above

IEnumerable comprehension = from n in names
   where n.Length == (from n2 in names
   orderby n2.Length
   select n;
IEnumerable query4 = names
 .Select(n => Regex.Replace(n, "[aeiou]", ""))
 .Where(n => n.Length > 2)
 .OrderBy(n => n.Length);
IEnumerable query4 = names
 .Select(n => Regex.Replace(n, "[aeiou]", ""))
 .Where(n => n.Length > 2)
 .OrderBy(n => n.Length);

Same as above query

IEnumerable query5 = from n in names
 select Regex.Replace(n, "[aeiou]", "") into g
 where g.Length > 2
 select n2.Length).First()
 orderby g.Length
 select g;

IEnumerable query8 = from n1 in
 (
 from n2 in names
 select Regex.Replace(n2, "[aeiou]", "")
 )
 where n1.Length > 2
 orderby n1
 select n1;

 IEnumerable query9 = from n in names
  let vowelless = Regex.Replace(n, "[aeiou]", "")
  where vowelless.Length > 2
 orderby vowelless
 select n; // Thanks to let, n is still in scope.
Share:

0 Comments:

Post a Comment