我爱学习第一天(委托)
程序员文章站
2022-08-28 15:13:06
恢复内容开始 1.delegate 一般用法 delegate void WriteValue(string vale);//申明一个委托,参数是string类型,无返回值 static void Main(string[] args) { WriteValue write = new WriteV ......
---恢复内容开始---
1.delegate
一般用法
delegate void writevalue(string vale);//申明一个委托,参数是string类型,无返回值 static void main(string[] args) { writevalue write = new writevalue(writeline);//实例化委托 write("喝水");//调用 console.readkey(); } public static void writeline(string value) { for (int i = 0; i < 5; i++) { console.writeline("第{0}次{1}", i, value); } }
匿名委托
delegate void writevalue(string vale); static void main(string[] args) { writevalue write = delegate (string value) { console.write(value); }; write("喝水"); console.readkey(); }
使用lambda表达式
如需要传入多个参数,需要用"()"将参数包括起来,用","隔开.
delegate void writevalue(string vale,string value1); static void main(string[] args) { writevalue write = (value,value1) => { console.write(value);console.write(value1); }; write("喝水","吃饭"); console.readkey(); }
多播委托
delegate void writevalue(string value); static void main(string[] args) { writevalue value1 = new writevalue(write); value1 += new writevalue(writeline); value1("s"); console.readkey(); } public static void writeline(string value) { console.writeline("帮我倒杯卡布奇洛,谢谢"); } public static void write(object value) { console.writeline("多加点糖,谢谢"); }
2.func<t,e>
t表示参数类型,e表示返回值类型. func<t1,t2,t3,e>表示有三个参数,类型分别为t1,t2,t3,返回值为e,以此类推.func<e>表示没有参数,返回值类型为e.
delegate void writevalue(string value); static void main(string[] args) { func<string, int> func = length; console.writeline(func("哈哈哈")); console.readkey(); } public static int length(string value) { return value.length; }
3.action<t>
action<t1,t2,t3>表示有三个参数,无返回值,以此类推.
static void main(string[] args) { action<string, string> action = length; action("吃饭饭", "喝水水"); console.readkey(); } public static void length(string value,string value1) { console.writeline(value); console.writeline(value1); }
4.predicate<t>:表示定义一组条件并确定指定对象是否符合这些条件的方法。该委托返回的是一个bool类型的值,如果比较满足条件 .只能有一个参数.
static void main(string[] args) { predicate<int> predicate = max; console.writeline(predicate(12).tostring()); console.readkey(); } public static bool max(int value) { return value > 0; }
---恢复内容结束---
上一篇: 变质的粽子能吃吗?要引起重视
下一篇: Python反射和内置方法重写操作详解
推荐阅读
-
我爱学习第一天(委托)
-
我自己的学习python的第一天
-
第一天到新公司上班,这办公设备……,我是不是被骗了?
-
苹果官方推荐中国区第一天气应用 《MyWeather·我的天气》2022年春节吉祥版登场
-
MVC架构学习之EasyFirst快点夸我爱学习~ - 韧还
-
人生苦短,我用Python--一个*农业大学计算机本科生的Python学习之路-数据库(第一天)
-
我安装了wampserver 第一天一切正常,能访问phpMyAdmin页面,也能运行php网页,但是现在Not FoundHTTP Error 404.
-
我安装了wampserver 第一天一切正常,能访问phpMyAdmin页面,也能运行php网页,但是现在Not FoundHTTP Error 404.
-
小弟我安装了wampserver 第一天一切正常,能访问phpMyAdmin页面,也能运行php网页,但是现在Not FoundHTTP Error 404
-
我爱学习第一天(委托)