Action<T>泛型委托

本文介绍C#中Action委托的使用方法,并提供了一个具体的示例。示例展示了如何使用Action委托来遍历整数列表并调用一个方法,该方法负责在网页上输出每个元素加5后的结果。

描述:

封装一个方法,该方法只采用一个参数并且不返回值.

语法:

public delegate void Action<T>(T arg);

T:

参数类型:此委托封装的方法的参数类型

arg:

参数:此委托封装的方法的参数

备注:

通过此委托,可以将方法当做参数进行传递.

其他形式:

public delegate void Action<T1, T2>(T1 arg1, T2 arg2);
public delegate void Action<T1, T2, T3>(T1 arg1, T2 arg2, T3 arg3);
public delegate void Action<T1, T2, T3, T4>(T1 arg1, T2 arg2, T3 arg3, T4 arg4);

例子:

protected void Page_Load(object sender, EventArgs e)
{
    List<int> list = new List<int>();
    list.AddRange(new int[] { 7, 6, 10, 1, 2, 3, 4, 5, 8 });

    Action<int> action = new Action<int>(AddFive);
    list.ForEach(action);

    //效果同
    //      Action<int> action = new Action<int>(AddFive);
    //      list.ForEach(action);
    //list.ForEach(x => Response.Write((x + 5).ToString() + "<br/>"));

    //效果同
    //      Action<int> action = new Action<int>(AddFive);
    //      list.ForEach(action);
    //list.ForEach(delegate(int i)
    //{
    //    HttpContext.Current.Response.Write((i + 5).ToString() + "<br/>");
    //});
}

public static void AddFive(int i)
{
    HttpContext.Current.Response.Write((i + 5).ToString() + "<br/>");
}

结果:

12
11
15
6
7
8
9
10
13

转载于:https://www.cnblogs.com/oneword/archive/2010/08/31/1814020.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值