1.Action

  分为带泛型的和不带泛型的,带泛型可传入任何类型的参数。

  格式如下: 

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input; namespace Demo1
{
class Program
{
static void Main(string[] args)
{
//泛型委托
//Action : //带一个参数的
Action<string> ac = DelegateTest;
ac("带一个参数"); //带两个参数
Action<int, int> action = DelegateTest;
action(, ); Console.ReadKey();
} static void DelegateTest(string s)
{
Console.WriteLine(s);
}
static void DelegateTest(int a ,int b)
{
Console.WriteLine(a+b);
}
}
}   不带泛型,格式如下:
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input; namespace Demo1
{
class Program
{
static void Main(string[] args)
{
// 无参数无返回值的委托 Action action1 = DelegateTest;
action(); Console.ReadKey();
} static void DelegateTest()
{
Console.WriteLine("无参的委托");
}
}
}

2.Func :

    有参数 有返回值的委托 (参数的最后一个为返回值)

 Func<int, int, int> objCall = ((a, b) => { return a * b; });
Func<int, int, int> objCall1 = ((a, b) => { return a / b; });
Action<int, int> ob = ((a, b) => { Console.WriteLine(a * b); });
ob(, ); //----------------------------------------------------//
int result = objCall(, );
int result1 = objCall1(, );
System.Console.WriteLine("结果1为 {0},结果2为{1}", result, result1); // Lambda 表达式
Func<int, bool> dele1 = n => n > ;
// Lambda 语句
Func<int, bool> dele2 = (int n) => { return n > ; };
Console.WriteLine(dele1());
Console.WriteLine(dele1());
Console.ReadKey();

委托,C#本身的委托(Action Func)的更多相关文章

  1. Delegate,Action,Func,匿名方法,匿名委托,事件 (转载)

    Delegate,Action,Func,匿名方法,匿名委托,事件 (转载) 一.委托Delegate 一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本 ...

  2. C#的委托 Action<>和Func<>

    其实他们两个都是委托[代理]的简写形式. 一.[action<>]指定那些只有输入参数,没有返回值的委托 Delegate的代码: [csharp]  public delegate vo ...

  3. (C#) Action, Func, Predicate 等泛型委托

    (转载网络文章) (1). delegate delegate我们常用到的一种声明   Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型.   例:public del ...

  4. 委托delegate,Action,Func,Predicate

    C#委托的介绍(delegate.Action.Func.predicate) 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1.委托的声明 ...

  5. C# 委托应用总结(委托,Delegate,Action,Func,predicate)

    C# 委托应用总结 一.什么是委托 1.1官方解释 委托是一种定义方法签名的类型.当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联.您可以通过委托实例调用方法. 1.2个人理解 委托就是执 ...

  6. c# Action,Func,Predicate委托

    System命名空间下已经预先定义好了三中泛型委托,Action,Func和Predicate,这样我们在编程的时候,就不必要自己去定义这些委托了 Action是没有返回值的 Func是带返回值的 不 ...

  7. VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

    [提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...

  8. Delegate,Action,Func,Predicate的使用与区别

    C#4.0推出后,类似Linq,Lamda表达式等许多新的程序写法层次不穷.与之相关的Delegate,Action,Func,Predicate的使用和区别也常常让大家迷惑,此处就结合实际的应用,对 ...

  9. Lamda Action Func Thread 实例

    lamda表达式 格式:( 形参列表 ) => { 函数体 } 作用:简化匿名方法的书写,可用在任何可使用匿名方法和强类型代理的地方: Action是无返回值的泛型委托. Action 表示无参 ...

随机推荐

  1. matlab求曲线长度

    曲线段在上的弧长为采用积分所求弧长s=∫√(1+y'²)dxmatlab求出各点的导数,然后按照上式积分 clear>> x=1:0.1:10;>> y=rand(1,leng ...

  2. Scheme vs Schema

    在计算机数据描述领域,Scheme由于原意为“主题”,“方案”,“构想”等,因此一般指比较明确的(具体的)“方案”.“体系”,例如一个术语词表.分类表等,而Schema通常翻译成“模式”,比较强调形式 ...

  3. C#导入EXCEL数据

    public static void InputUserFromExcel(string filePath) { string FileExName = filePath.Substring(file ...

  4. Spring中配置文件applicationContext.xml配置详解

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  5. PHP数据类型和常量

    数据类型的转换    一种是强制转换            语法:setType(变量,类型).这个函数将原变量的类型转变                在赋值前使用(类型)的形式,不会改变原变量的类 ...

  6. swift初识

    介绍: Swift是苹果2014年推出的全新编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程不仅保留了Objc很多语言特性,他也借鉴了多种现代化语言的特点,在其 ...

  7. Magento后台订单显示产品图片的修改方法

    Magento后台订单原来是没有显示产品图片,客服业务还得到网站前台查找这个产品的图片提供给发货部,这样是很不方便的.为提高工作效率,应客服业务要求,现对Magento后台订单进行修改,使订单页面就显 ...

  8. Linux Qt动态库的创建和使用

    一.创建动态库 编写一个共享库类,比如: //..base.h class Base : public QObject { Q_OBJECT public: ); void PrintLog(QStr ...

  9. ubuntu基本配置

    新系统装好后的操作: 1.resource updata:服务器镜像地址选择 2.删除不必要软件: 2.1:libreoffice sudo apt-get remove libreoffice-co ...

  10. Python编程小记

    发现这种结构很实用: while True: expression .... if condition: expression break 好吧,我承认我是菜鸟-