zoukankan      html  css  js  c++  java
  • C# 委托篇

    {
    //定义一个委托类型,如果传递的方法有参数此处必须声命,因为调用委托的时候将要用到
    delegate int AddDel(int a, int b);
    delegate int AddDel2(int a, int b);
    static void Main(string[] args)
    {
    #region 普通的委托
    ////调用静态方法
    //AddDel del = new AddDel(AddStaticFunc);  AddDel del=AddStaticFunc--这样写也可以
    //Console.WriteLine(del(1, 2));

    ////调用实例方法
    //AddDel2 del2 = new AddDel2(new Program().AddInstansFunc);
    //Console.WriteLine(del2(3, 4));

    //Console.ReadKey();
    #endregion

    #region 泛型委托
    //Func<int, int, int> func =AddStaticFunc; --注意委托指定方法的时候可以在new 委托(方法名)里指定 也可以直接如当前这种指定
    //凡是委托指定方法的地方都可以用lambda表达式,lambda语句,匿名方法
    //Func<int, int, int> func = new Func<int, int, int>((a, b) => a + b);----lambda 表达式
    //Func<int, int, int> func = new Func<int, int, int>(delegate(int a, int b) { return a + b; });---匿名方法
    Func<int, int, int> func = (int a, int b) => { return a + b; };// 注意在写lambda表达式的时候(){}可以省略的情况都是其里边只有一个变量或一个语句

    Console.WriteLine(func(1, 3));
    Console.ReadKey();
    #endregion

    }
    /// <summary>
    /// 静态方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    static int AddStaticFunc(int a, int b)
    {
    return a + b;
    }
    /// <summary>
    /// 实例方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    public int AddInstansFunc(int a, int b)
    {
    return a + b;
    }
    }

  • 相关阅读:
    hibernate注解note
    hibernate的批量删除
    hibernate实现多表联合查询
    hibernate联合主键注解方式
    jsp之radio取值与赋值
    @Transient注解的使用
    工程师如何在工作中提升自己?(公众号)
    HTML中让表单input等文本框为只读不可编辑的方法
    ajax, jQuery, jQueryeasyUI
    关于easyui的问答(来自百度问答)
  • 原文地址:https://www.cnblogs.com/luwei-s/p/4541703.html
Copyright © 2011-2022 走看看