Some examples about how to write anonymous method and lambda expression

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

namespace LandmaExpressionDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //anonymous method
            Action ac = delegate() { Console.WriteLine("hello delegate"); };
            ac();

            //Use Action<T> to create anonymous method with parameters
            Action<string> ac2 = delegate(string strMessage) { Console.WriteLine(strMessage); };
            ac2("hello world2");

            //Pass the anonymous method to another method as parameter
            ActionHelper(delegate(string strMessage) { Console.WriteLine(strMessage); });

            //use landmar expression as parameter to another method
            ActionHelper(fw => Console.WriteLine(fw));

            //Use lambda expression as a delegate
            Action ac3 = () => Console.WriteLine("hello ac3");
            ac3();


        }

        public delegate void DisplayMessageDelegate(string strMesssage);

        public static void ActionHelper(Action<string> ac)
        {
            ac("hello world3");
        }

        //Useful references
        //1. http://msdn.microsoft.com/en-us/library/018hxwa8.aspx
        //2. http://msdn.microsoft.com/en-us/library/bb549151.aspx
        //3. http://msdn.microsoft.com/en-us/library/bb397687.aspx
        //4. http://msdn.microsoft.com/en-us/library/bb534960.aspx
    }
}
原文地址:https://www.cnblogs.com/xiaxi/p/2230229.html