课程6+上课日志2
19页1、课程6 委托、匿名方法、Lambda表达式、LINQ查询表达式上课日志2一、补充VS中自定义C#快速简写代码(输入简写字母后按两次Tab键自动输入) 在VS中选择工具代码段管理器(语言下拉框选择Visual C#,如下图1所示),位置下面的下拉列表框再选择Visual C#,然后复制位置文本框里的路径,即找到代码段简写文件(*.snippet)。然后随便复制一个(比如cw.snippet),复制的位置可以任意(注意两点:第一、不要在原来的cw.snippet位置,第二、需要新建一个文件夹(zdy)来存储复制过来的cw.snippet文件)然后再对复制过来的文件修改(比如需要创建快速输入Console.ReadKey(),可以把文件名改为crk.snippet),接着打开重命名后的文件(crk.snippet)修改里面的内容(如图2所示),参照图3进行修改(修改绿色框住的4个地方即可)最后单击图1下面的添加按钮,选择到自定义的文件夹(zdy)。图1图2图3二、泛型委托FuncFunFunc委托只有泛型版本的,接受参数个数可以是若干个,也可以是没有参数,但是一定有返回值的方法。Func这个
2、表示没有参数,只有返回值的Func这个表示有1个参数,有返回值的Func这个表示有2个参数(前两个参数T1,T2表示参数,最后TResult返回值),有返回值的Func这个表示有3个参数(前三个参数T1,T2,T3,表示参数,最后TResult返回值),有返回值的.总之Func委托最后一个TResult表示返回值,前面的不管多少个T都是表示参数例:class Program static void Main(string args) #region 无参数有返回值的Fun委托 Func fun1 = M1; int n1 = fun1(); Console.WriteLine(n1); #endregion #region 有参数有返回值的Fun委托 Func fun2 = M2; int n2 = fun2(1, 2, 3); Console.WriteLine(n2); #endregion Console.ReadKey(); static int M1() return 1; static int M2(int n1, int n2, int n3) return n1 + n
3、2 + n3; 三、多播委托多播委托就是一个委托同时绑定多个方法,多播委托也叫委托链、委托组合。1、绑定无返回值的多个委托class Program static void Main(string args) #region 绑定无返回值的多个委托 Action action = M1;/这句话只绑定一个M1方法(绑定第一个方法不能用+=复制,因为开始action为null,所以只能用=赋值),下面再给acion绑定方法 action += M2; action += M3; action += M4; action += M5; action -= M3;/解除绑定M3方法(即是用-=赋值为解除绑定方法) action(多播委托); #endregion Console.ReadKey(); static void M1(string msg) Console.WriteLine(msg); static void M2(string msg) Console.WriteLine(msg); static void M3(string msg) Console.WriteLine(m
《课程6+上课日志2》由会员 y****g分享,可在线阅读,更多相关《课程6+上课日志2》请在金锄头文库上搜索。
2021-11-05 17页
2020-05-10 8页
2020-05-10 6页
2020-05-10 10页
2020-05-10 7页
2020-05-10 9页
2020-05-10 5页
2020-05-10 1页
2020-05-10 10页