其实很好理解的呢!~首先你需要明白,他们是委托的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 1.1定义一个委托: 比如,我们原来写委托: public delegate void myDelegate(string str); 这个委托表示,它只能委托那些只有一个输入值而没有返回值的方法,比如下面的这个方法. 1.2定义方法 public static void HellowChinese(string strChinese) { Console.WriteLi…
Delegate,Action,Func,匿名方法,匿名委托,事件 (转载) 一.委托Delegate 一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如 publicvoid HelloWorld() {    Console.WriteLine("Hello World!");}publicvoid HelloWorld(string name) {    Console.WriteLine("…
(转载网络文章) (1). delegate delegate我们常用到的一种声明   Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型.   例:public delegate int MethodtDelegate(int x, int y);表示有两个参数,并返回int型. (2). Action Action是无返回值的泛型委托. Action 表示无参,无返回值的委托 Action<int,string> 表示有传入参数int,string无返回值的委…
一.委托Delegate 一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如 public void HelloWorld()  {     Console.WriteLine("Hello World!"); } public void HelloWorld(string name)  {     Console.WriteLine("Hello ,{0}!", name); } 但是有…
Tks: http://www.cnblogs.com/yjmyzz/archive/2009/11/23/1608818.html 20150801 add: http://www.cnblogs.com/wangjq/archive/2012/07/12/2587966.html…
System命名空间下已经预先定义好了三中泛型委托,Action,Func和Predicate,这样我们在编程的时候,就不必要自己去定义这些委托了 Action是没有返回值的 Func是带返回值的 不同的.netframework版本下,能定义的参数个数可能不同 Predicate,只有一个参数,返回值是bool型 /// <summary> /// Action泛型委托:.netframework4下 可以有0到16个参数 /// </summary> public void T…
C#委托的介绍(delegate.Action.Func.predicate) 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1.委托的声明 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型. 例:public delegate int MethodtDelegate(int x, int y);表示有两个参数,并返回int型. (2). A…
[提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单元测试无兴趣请止步. 3.本文将使用一些我自己的测试公共代码,位于https://idletest.codeplex.com/,此处亦非常欢迎来访. 4.关于本人之前单元测试的文章可参阅 <在Visual Studio 2012使用单元测试>. <VS2012 单元测试之泛型类(Generi…
Func<T1, T2, TResult> 委托 封装一个具有两个参数并返回 TResult 参数指定的类型值的方法. 语法 public delegate TResult Func<in T1, in T2, out TResult>( T1 arg1, T2 arg2 ) 类型参数 in T1 此委托封装的方法的第一个参数类型. 该类型参数是逆变.即可以使用指定的类型或派生程度更低的类型.有关协变和逆变的更多信息,请参见泛型中的协变和逆变. in T2 此委托封装的方法的第二个…
引用别人的: static void Main(string[] args) { List<string> l = new List<string>(); l.Add("a"); l.Add("b"); l.Add("s"); l.Add("t"); if (l.Exists(s => s.Equals("s"))) { string str = l.First(s =>…