Lambda Expression : Lambda « LINQ « C# / CSharp Tutorial






using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;


public class MainClass
{
    public delegate Boolean CheckString(String Str);
    public static void Main(string[] args)
    {
        String[] TestArray = { "One", "Two", "Three", "Four", "Five" };
        String[] OutputArray = FilterStrings(TestArray, TestStr => TestStr.Length > 3);
        foreach (String ThisString in OutputArray)
            Console.WriteLine(ThisString);

    }

    public static String[] FilterStrings(String[] Input, CheckString Filter)
    {
        ArrayList ResultList = new ArrayList();
        foreach (String ThisString in Input)
        {
            if (Filter(ThisString))
                ResultList.Add(ThisString);
        }
        return (String[])ResultList.ToArray(typeof(String));
    }
}








22.2.Lambda
22.2.1.Lambda expression used to declare a delegate
22.2.2.If your query's lambda expressions reference local variables, these variables are subject to outer variable semantics.
22.2.3.Lambda expression used to declare an expression tree
22.2.4.return a lambda function
22.2.5.A local variable instantiated within a lambda expression is unique per invocation of the delegate instance.
22.2.6.square is assigned the lambda expression x = > x * x:
22.2.7.A lambda expression has the following BNF form: (parameters) => expression-or-statement-block
22.2.8.A lambda expression can reference the local variables and parameters of the method in which it's defined.
22.2.9.List Sort With Lambda Expression
22.2.10.Using Lambda Expressions with Find method
22.2.11.Concise Lambda Expression
22.2.12.Lambda Expression