zoukankan      html  css  js  c++  java
  • Action<T>泛型委托

    描述:

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

    语法:

    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

  • 相关阅读:
    MySql锁机制
    Mysql存储引擎
    Linux 系统中安装mysql
    常见的系统架构
    Linux环境下搭建go开发环境
    Ajax概述
    正向代理和反向代理
    Mysql 存储过程以及在.net中的应用示例
    Mysql 事务
    Windows服务器实现自动化部署-Jenkins
  • 原文地址:https://www.cnblogs.com/oneword/p/1814020.html
Copyright © 2011-2022 走看看