码迷,mamicode.com
首页 > Windows程序 > 详细

[C#] 委托与匿名方法

时间:2020-02-27 18:50:04      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:arp   实例   lamda   ssi   绑定   线程   结构   art   匿名函数   

using System;

namespace 匿名函数
{
	class Program
	{
		delegate void TestDelegate(string s);

		static void M(string s)
		{
			Console.WriteLine("A参数为:{0}", s);
		}

		static void Main(string[] args)
		{
			//1. 委托的基本写法,及调用
			TestDelegate testDeleA = new TestDelegate(M);//通过委托的实例化将之与方法绑定
			testDeleA("hahahah");

			//2. 使用匿名表达式构造委托调用方法
			//C#2.0 Anonymous Method,其结构为:delegate+(各个参数)+{函数体}
			TestDelegate testDeleB = delegate (string s) { Console.WriteLine("B参数为:{0}", s); };//直接通过delegate声明将之与函数体绑定
			testDeleB("hehehehe");
			//C#3.0, 引入lamda表达法,Lambda Expression
			TestDelegate testDeleC = (x) => { Console.WriteLine("C参数为:{0}", x); };
			testDeleC("hohoho");

			Console.ReadKey();
		}

	}
}

 

using System;

namespace 匿名函数
{
    class Program
    {

        static void Main(string[] args)
    {
            //调用线程
            StartThread();

            Console.ReadKey();
        }

        private static void StartThread()
        {
            //创建线程
            System.Threading.Thread t1 = new System.Threading.Thread
                (
                    delegate ()//参数不能使用ref、out这种关键字修饰,以及匿名方法不能放在is关键字左边
                    {
                        //函数体中不能有unsafe code
                        Console.Write("Helo, ");
                        Console.WriteLine("World!");
                    }
                );
            //开启线程
            t1.Start();
        }
    }
}

 

using System;

namespace 匿名函数
{
    class Program
    {
        delegate int del(int i);

        delegate TResult Func<TArg, TResult>(TArg arg);


        static void Main(string[] args)
        {
            Lambda();

            Console.ReadKey();
        }

        private static void Lambda()
        {
            //() => {}
            del myDelegate = x => x * x;//当参数只有一个时可以不带括号
            Console.WriteLine(myDelegate(5));

            Func<int, bool> myFunc = x => x == 5;
            Console.WriteLine(myFunc(4));
        }
    }
}

 

[C#] 委托与匿名方法

标签:arp   实例   lamda   ssi   绑定   线程   结构   art   匿名函数   

原文地址:https://www.cnblogs.com/ahoka/p/12373620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!