Anonymous Methods
The
idea behind anonymous methods it to write methods inline to the code so you
don't have to go through the trouble of declaring a formal named method. They
are mainly used for small methods that don't require any need for reuse.
Instead
of declaring a separate method IsAvailable to find an employee in a list
of strings:
class Employee
{
   
static void
Main(string[] args)
   
{
     
  List<string> Emp = new List<string>();
       
Emp.Add(“Shriya”);
       
Emp.Add(“Phaniswara”);
       
Emp.Add(“NAGAVALLI”);
       
Emp.Add(“Deepika”);
       
Emp.Add(“Nair”);
       
string strEmp = Emp.Find(IsAvailable);
       
Console.WriteLine(strEmp);
   
}
   
public static
bool IsAvailable(string
name)
   
{
   
return name.Equals(“NAGAVALLI”);
   
}
}
You
can declare an anonymous method inline
 
class Employee
{
   
static void
Main(string[] args)
   
{
       
List<string>
Emp = new List<string>();
       
Emp.Add(“Shriya”);
       
Emp.Add(“Phaniswara”);
       
Emp.Add(“NAGAVALLI”);
       
Emp.Add(“Deepika”);
       
Emp.Add(“Nair”);
       
String strEmp = Emp.Find(delegate(string name)
            {
                return
name.Equals("Nair");
            });
       
Console.WriteLine(strEmp);
   
}
}
 
Lambda Expressions
Lambda Expressions make things even easier by
allowing you to avoid the anonymous method
string strEmp = Emp.Find((string name)
                          => Emp.Equals("Deepika"));
Console.WriteLine(strEmp);
 
Or you can simply use :
 
string strEmp = Emp.Find(n
=> n.Equals("Deepika"));
       
Console.WriteLine(strEmp);