IntroductionIf we have a range of number from 1 to 20 and we want to find odd among them using LINQ . We have three options for that 1. Calling a Predicate 2. Anonymous Method 3. Lambda So here we can see that we need to pass a predicate to evaluate the condition. Calling a PredicateFunction we will pass as predicate is as below We will pass this function as predicate to find odd numbers from the range of numbers. Program.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication25
{class Program
{static void Main(string[] args)
{
var result = from r in
Enumerable.Range(1, 20).Where(GetOdd)
select r;foreach (var r in result)
Console.WriteLine(r);
Console.ReadKey(true);
}static bool GetOdd(int number)
{if (number % 2 != 0)return true;elsereturn false;
}
}
}
Output Using Anonymous MethodWe can use anonymous method also Anonymous method is taking an input parameter and returning a Boolean value. Program.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication25
{class Program
{static void Main(string[] args)
{
var result = from r inEnumerable.Range(1, 20).Where(delegate(int number)
{if (number % 2 != 0)return true;return false; })
select r;foreach (var r in result)
Console.WriteLine(r);
Console.ReadKey(true);
}
}
}
Output Using LambdaTo make our query more readable in version 3.0 and onwards we can use Lambda instead of anonymous method also. Lambda is very simple returning true when reminder is 0. Program.cs using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication25
{class Program
{static void Main(string[] args)
{
var result = from r inEnumerable.Range(1, 20).Where(num =>num%2!=0)
select r;foreach (var r in result)
Console.WriteLine(r);
Console.ReadKey(true);
}
}
}
Output ConclusionOnce you read this article, now you able to find the odd numbers easilly in C#.happy coding. |