A local variable instantiated within a lambda expression is unique per invocation of the delegate instance. : Lambda « LINQ « C# / C Sharp






A local variable instantiated within a lambda expression is unique per invocation of the delegate instance.

 

using System;
delegate int NumericSequence();

class Test {
    static NumericSequence Natural() {
        return () => { int seed = 0; return seed++; };
    }

    static void Main() {
        NumericSequence natural = Natural();
        Console.WriteLine(natural());
        Console.WriteLine(natural());
    }
}

 








Related examples in the same category

1.Lambda expression used to declare a delegate
2.If your query's lambda expressions reference local variables, these variables are subject to outer variable semantics.
3.Lambda expression used to declare an expression tree
4.return a lambda function
5.square is assigned the lambda expression x = > x * x:
6.A lambda expression has the following BNF form: (parameters) => expression-or-statement-block
7.A lambda expression can reference the local variables and parameters of the method in which it's defined.