首页 / C# / C#高级功能(一)Lambda 表达式
C#高级功能(一)Lambda 表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#高级功能(一)Lambda 表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2296字,纯文字阅读大概需要4分钟。
内容图文
using System; namespace NewAttr { /// <summary> /// Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数。 /// Lambda 表达式对于编写 LINQ 查询表达式特别有用。 /// </summary> public class LambdaDemo { public LambdaDemo() { } /// 委托不能重载,即委托名称相同,参数类型,个数不同。 /// 构造委托的时候,根本不管参数,当然也就不知道你要构造的是哪个委托。 private delegate int del(int x); privatedelegateint del2(int x, int s); privatedelegatevoid del3(); publicstaticvoid Test() { del myDel1 = x => x * x; del myDel2 = (x) => x * x; del myDel3 = (x) => x * x; del myDel4 = (int x) => x * x; del myDel5 = (int x) => { return x * x; }; Console.WriteLine("del myDel1 = x => x * x :{0}", myDel1(2)); Console.WriteLine("del myDel2 = (x) => x * x :{0}", myDel2(2)); Console.WriteLine("del myDel3 = (x) => x * x :{0}", myDel3(2)); Console.WriteLine("del myDel4 = (int x) => x * x :{0}", myDel4(2)); Console.WriteLine("del muDel5 = (int x) =>{1}:{0}", myDel5(2), " { return x * x; } "); del3 myDel6 = () => Test2(); Console.WriteLine("--------------------------------"); myDel6(); } publicstaticvoid Test2() { del2 myDel2 = (x, y) => x * y; del2 myDel3 = (int x, int y) => x * y; del2 myDel4 = (int x, int y) => { return x * y; }; Console.WriteLine("del2 myDel2 = (x, y) => x * y :{0}", myDel2(2, 2)); Console.WriteLine("del2 myDel3 = (int x, int y) => x * y :{0}", myDel3(2, 2)); Console.WriteLine("del2 myDel4 = (int x, int y) => {1} :{0}", myDel4(2, 2), "{ return x * y; }"); Console.WriteLine("--------------------------------"); FunTest(); } publicstaticvoid FunTest() { ///其中 Func 是最多具有十六个输入参数的任何一个 Func 委托 ///之后一个为返回值。 ///Func<TResult>,Func<T,TResult>,Func<T,.....T,TResult> Func<int> myFunc = () => 1; Console.WriteLine("Func<int> myFunc = () => 1 :{0}", myFunc()); Func<int, string, int> myFunc2 = (x, y) => x + y.Length; Console.WriteLine("Func<int, string, int> myFunc = (x, y) => x + y.Length :{0}", myFunc2(1, "jasonhua")); ///其中 Action 是最多具有十六个输入参数的任何一个 Action 委托 Action myAction = () => { Console.WriteLine("Action myAction :1 * 1"); }; myAction(); Action<int, int> myAction2 = (x, y) => { Console.WriteLine("Action<int, int> myAction2 = (x, y) :{0}", x * y); }; myAction2(1,1); } } }
原文:http://www.cnblogs.com/zhao123/p/5612418.html
内容总结
以上是互联网集市为您收集整理的C#高级功能(一)Lambda 表达式全部内容,希望文章能够帮你解决C#高级功能(一)Lambda 表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】