标签: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)); } } }
标签:arp 实例 lamda ssi 绑定 线程 结构 art 匿名函数
原文地址:https://www.cnblogs.com/ahoka/p/12373620.html