c# 创建委托 消息订阅_C#创建委托实例

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace MyDelegate

{

class Program

{

static void Main(string[] args)

{

List users = GetUsers();

//1.传统方式实例化委托实例

users = users.OrderBy(new Func(OrderType)).ToList();

//2.委托参数采用匿名函数代替函数名

users = users.OrderBy(new Func(delegate(User user)

{

return user.Number;

})).ToList();

3.匿名函数直接创建委托实例

users = users.OrderBy(delegate(User user)

{

return user.Number;

}).ToList();

4.lambda表达式本质:用于创建委托的匿名函数

users = users.OrderBy(user => user.Number).ToList();

//输出

users.ForEach(x =>

{

Console.WriteLine("Number{0}:Name{1}:Age:{2}", x.Number, x.Name, x.Age);

});

//暂停

Console.Read();

}

///

/// 排序方式

///

///

///

private static int OrderType(User user)

{

return user.Number; //按照编号排序

}

private static List GetUsers()

{

List users = new List();

User user1 = new User(, "张三", );

User user2 = new User(, "李四", );

User user3 = new User(, "王五", );

users.Add(user1);

users.Add(user2);

users.Add(user3);

return users;

}

}

}

Asp.Net 利用反射获得委托和事件以及创建委托实例和添加事件处理程序

子程序定义: public delegate void CurrentControlListenEvent(string uniqueID, string way = null); public ev ...

Spring工厂方式创建Bean实例

创建Bean实例的方式: 1) 通过构造器(有参或无参) 方式: 2) 通过静态工厂方法 方式: &l ...

EntityFramework Core 1.1是如何创建DbContext实例的呢?

前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...

单机静默安装GI软件并创建ASM实例和ASM磁盘组

环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备 1. 安装配置GI软件 2. 创建ASM实例 ...

自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

C# 委托实例(跨窗体操作控件)

在C#里面却是可以不用自定义消息这么复杂的方法来实现跨窗体调用控件,C#有更好的办法就是委托. 效果描述:有两个窗体,FORM1(一个名为“打开form2”的button控件)和FORM2(一个名为“ ...

[.net 面向对象程序设计进阶] (5) Lamda表达式(一) 创建委托

[.net 面向对象程序设计进阶] (5) Lamda表达式(一)  创建委托 本节导读: 通过学习Lambda表达式,学会创建委托和表达式目录树,深入了解Lambda的特性,让你的代码变的更加清晰. ...

【C#】回调方法不通过object参数获得委托实例

回调方法中几乎都会存在获取委托实例的需求,进而通过委托实例调用EndInvoke以得到异步执行的返回值.在我看过的相关文章中,获取委托实例的方法几乎都是同一个,就是向BeginInvoke的最后一个参 ...

随机推荐

[地图SkyLine二次开发]框架(2)

上节讲到,地图加载. 但我们可以发现,当没有页面布局的情况下,控件,没有占满整个屏幕,这里我们就要用到Extjs的功能了. 这节要讲的是用Extjs为

【CefSharp】 禁用右键菜单 与 控制弹出窗口的方式(限版本39.0.0.1)

这周没什么时间,一开始就在忙一些CefSharp的事情,Win10的研究就放了下来,CefSharp的资料挺少的,但好在是开源的,可以我们便宜的折腾.因为两个的内容都不多,我就合成一篇文章啦. 这还里 ...

【故障处理】一次RAC故障处理过程

[故障处理]一次RAC故障处理过程 1.1  故障环境介绍 项目 source db db 类型 2节点RAC db version 11.2.0.1.0 db 存储 ASM OS版本及kernel版 ...

Hadoop--map/reduce实现单词计数

import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.*; import org.apache.hadoop.mapred.*; ...

cmake 手册系列

http://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html

处理emacs-org模式TODO的一个脚本

处理前: 处理后: Table of Contents 1 前言 2 中文的处理 2.1 vim相关 2.2 perl 相关 3 时间相关 4 程序解析 1 前言 最近风帆问我一个问题,也就是处理or ...

C/C++输入输出

一. cin>>当碰到空格或换行符'\n'时,输入结束 该操作符是根据后面变量的类型读取数据. 输入结束条件 :遇到Enter.Space.Tab键. 对结束符的处理 :丢弃缓冲区中使得输 ...

转:Siri之父:语音交互或将主导未来十年发展

http://zhinengjiaohu.juhangye.com/201709/weixin_5664458.html Siri之父Adam Cheyer认为,语音交互很可能是未来十年内计算技术的一 ...

vue权威指南笔记01——样式的设置

...

118. Pascal's Triangle (java)

问题描述: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值