• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#用Lambda和委托实现模板方法

C#用Lambda和委托实现模板方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#中lambda表达式,c#lambda表达式,c#中lambda,c#lambda,c#lambda表达式 嵌套等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1 问题描述
查看下面这段代码:

for (int i =0; i<a.length; i++)
  {
    a[i] = a[i] * 2;
  }

for (int i =0; i<a.length; i++)
  {
    Console.WriteLine(a[i]);
  }

</div>

很明显,上述代码中存在for循环的重复代码。

2 解决方案
如何消除重复?使用委托。

•定义委托

</div>

•模板方法

</div>

•客户端代码

</div>

3 完整代码示例

  delegate int mapfun(int x);
  static void map(mapfun fn, int[] a)
  {
    for (int i = 0; i < a.Length; ++i)
      {
        a[i] = fn(a[i]);
      }
  }
}

</div>

4 与传统模板方法的比较
1.减少了子类数量,模板方法中,拓展一套算法就需要一个子类。
2.模板将算法隐藏,委托交由客户代码去选择。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#中方法的直接调用、反射调用与Lambda表达式调用对比
  • 理解C#中的Lambda表达式
  • 初步认识C#中的Lambda表达式和匿名方法
  • C#特性之匿名方法和Lambda表达式
  • C#中使用Lambda表达式自定义比较器实现两个列表合并实例
  • C#基础之Lambda表达式用法实例教程
  • C#3.0中Lambda表达式详解
  • C# 中如何利用lambda实现委托事件的挂接
  • C#用Lambda和委托实现模板方法

相关文章

  • 2017-05-28C#向无窗口的进程发送消息
  • 2017-05-28C#实现提高xml读写速度的方法
  • 2017-05-28C#类中static变量用法分析
  • 2017-05-28C#中图片、二进制与字符串的相互转换方法
  • 2017-05-28C#获取字符串后几位数的方法
  • 2017-05-28implicit关键字做自定义类型隐式转换的方法
  • 2017-05-28asp.net core mvc权限控制:在视图中控制操作权限
  • 2017-05-28C#避免回溯方法心得
  • 2017-05-28C#用Activex实现Web客户端读取RFID功能的代码
  • 2017-05-28.Net常见问题之C#中的委托

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#反射机制学习和利用反射获取类型信息
    • C#数字图象处理之图像灰度化方法
    • 在WCF数据访问中使用缓存提高Winform字段中文显示速度的方法
    • C#使用正则表达式过滤html标签
    • c# 以二进制读取文本文件
    • C#实现读取注册表监控当前操作系统已安装软件变化的方法
    • C#基础语法:Base关键字学习笔记
    • c#扩展datatable转json示例
    • 用 C# 编写一个停放在任务栏上的图标程序
    • C# Socket实现简单控制台案例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有