Func, Action and lambda

In this chapter you will learn:

  1. How to use Func, Action and lambda

Use Func, Action

lambda expression are often used with Func and Action delegates.

Func and Action are predefined delegates with generic parameters.

delegate TResult Func <out TResult>  ();
delegate TResult Func <in T, out TResult>  (T arg);
delegate TResult Func <in T1, in T2, out TResult>  (T1 arg1, T2 arg2);
/*  ja v a 2  s. c o  m*/
... and so on, up to T16

delegate void Action  ();
delegate void Action <in T>  (T arg);
delegate void Action <in T1, in T2>  (T1 arg1, T2 arg2);

... and so on, up to T16

Here is an example of how use to use Func to create a lambda expression.

using System;/* j a v  a  2s . c o m*/


class Program
{
    public static void Main()
    {

        Func<int, int> sqr = x => x * x;

        Console.WriteLine(sqr(3));
    }
}

The output:

Next chapter...

What you will learn in the next chapter:

  1. Using outer variable
Home » C# Tutorial » delegate, lambda, event
delegate
Multicast delegate
delegate variables
delegate parameters
Generic delegate
delegate return
Func and Action
delegate new
chained delegate
Anonymous delegate
delegate array
Return a delegate
delegate as parameter
Event
event multicast
static event
EventHandler
Event pattern
lambda
lambda syntax
Func, Action and lambda
lambda with outer function
lambda iteration variables