return a lambda function : Lambda « LINQ « C# / C Sharp






return a lambda function

 
using System;
delegate int NumericSequence();

class Test {
    static NumericSequence Natural() {
        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.A local variable instantiated within a lambda expression is unique per invocation of the delegate instance.
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.