C#委托基础8——lambda表达式

简介:

C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。

 
  1. class Program  
  2. {  
  3.         double AddInt(int x, int y)  
  4.         {  
  5.             return x + y;  
  6.         }  
  7.  
  8.         string AddString(string s1, string s2)  
  9.         {  
  10.             return s1 + s2;  
  11.         }  
  12.  
  13.         static void Main(string[] args)  
  14.         {  
  15.             Program p = new Program();             
  16.  
  17.             // 以为前两个参数为int,他们运行的结果为double,最后一个参数与AddInt返回值一致  
  18.             Func<intintdouble> funcInt = p.AddInt;  
  19.             Console.WriteLine("funcInt的值为{0}", funcInt(100, 300));  
  20.  
  21.             Func<stringstringstring> funcString = p.AddString;  
  22.             Console.WriteLine("funcString的值为{0}", funcString("xy""xy"));  
  23.  
  24.  
  25.             // 匿名方法  
  26.             Func<floatfloatfloat> fucFloat = delegate(float x, float y)  
  27.             {  
  28.                 return x + y;  
  29.             };  
  30.             Console.WriteLine("funcFloat的值为{0}", fucFloat(190.7F, 99999.9F));  
  31.  
  32.             // Lambda表达式  
  33.             Func<stringstringstring> funString2 = (x, y) => (x + y);  
  34.             Console.WriteLine("funString2的值为{0}", funString2("xy""xy"));  
  35.             Console.ReadLine();  
  36.         }  

 本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1071021如需转载请自行联系原作者


woshixuye111

相关文章
|
开发框架 自然语言处理 .NET
C#一分钟浅谈:LINQ 查询表达式的使用技巧
【9月更文挑战第6天】LINQ(Language Integrated Query)是C#开发中的强大工具,使查询数据集合变得简单且接近自然语言。本文从基础入手,通过具体示例讲解LINQ查询表达式的使用技巧,包括过滤、排序和分组等操作。同时,文章还探讨了常见问题及解决方法,如性能优化、过早枚举和类型转换等,帮助开发者写出更高效、易维护的代码。
268 16
|
C#
C#一分钟浅谈:Lambda 表达式和匿名方法
本文详细介绍了C#编程中的Lambda表达式与匿名方法,两者均可用于定义无名函数,使代码更简洁易维护。文章通过基础概念讲解和示例对比,展示了各自语法特点,如Lambda表达式的`(parameters) =&gt; expression`形式及匿名方法的`delegate(parameters)`结构。并通过实例演示了两者的应用差异,强调了在使用Lambda时应注意闭包问题及其解决策略,推荐优先使用Lambda表达式以增强代码可读性。
195 8
|
C#
C#一分钟浅谈:委托与事件的实现方式
本文详细介绍了C#编程中委托与事件的基础知识及应用场景。首先解释了委托的概念,包括定义与使用方法;接着介绍了事件这一基于委托的特殊类型,展示了如何在类中定义事件及跨类订阅与处理事件;最后讨论了常见问题如事件未处理异常、重复订阅及内存泄漏等,并提出了相应的解决方案。通过本文,读者将全面掌握委托与事件的使用技巧,提升应用程序的设计与开发水平。
343 7
|
C++ 安全 存储
C++智能指针解析
C++智能指针解析
189 0
C++智能指针解析
|
设计模式
结构型设计模式
结构型设计模式
172 0
结构型设计模式
|
编译器 C#
C#中内置的泛型委托Func与Action
C#中内置的泛型委托Func与Action
219 4
C#中的委托(一)
C#中的委托(一)
112 1
|
SQL 开发框架 前端开发
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
在C#开发中使用第三方组件LambdaParser、DynamicExpresso、Z.Expressions,实现动态解析/求值字符串表达式
C#||委托和事件的实例
C#||委托和事件的实例
119 0
|
2月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
139 19