zoukankan      html  css  js  c++  java
  • 泛型(Generic)委托

    泛型委托我们之前已经用过很多了,泛型委托经常和lamuda表达式一起使用组成LINQ查询
    Action<>无返回值

        class Program
        {
            static void Main(string[] args)
            {
                Action<string> action1 = new Action<string>(Say);
                action1.Invoke("Abe");
                Action<int> action2 = Mui;
                action2(1);
            }
    
            static void Say(string str)
            {
                Console.WriteLine($"Hello,{str}!");
            }
            static void Mui(int x)
            {
                Console.WriteLine(x * 100);
            }
        }
    

    Func<>有返回值

        class Program
        {
            static void Main(string[] args)
            {
                Func<int, int, int> func1 = new Func<int, int, int>(Add);
                Func<double, double, double> func2 = new Func<double, double, double>(Add);
                var result1 = func1(100, 100);
                var result2 = func2(100.1, 100.2);
                Console.WriteLine(result1);
                Console.WriteLine(result2);
            }
    
            static int Add(int a, int b)
            {
                return a + b;
            }
    
            static double Add(double a, double b)
            {
                return a + b;
            }
        }
    


    z
    lambda表达式与泛型委托的结合:

        class Program
        {
            static void Main(string[] args)
            {
                Func<int, int, int> func1 = new Func<int, int, int>((a, b) => {return a + b; });
                Func<double, double, double> func2 = new Func<double, double, double>((a, b) => { return a + b; });
                var result1 = func1(100, 100);
                var result2 = func2(100.1, 100.2);
                Console.WriteLine(result1);
                Console.WriteLine(result2);
            }
        }
    

    把函数

            static int Add(int a, int b)
            {
                return a + b;
            }
    

    (a, b) => {return a + b; }
    


    表示,a,b的类型呢是由泛型Func<参数类型,参数类型,返回值类型>来限定

  • 相关阅读:
    HDU1213How Many Tables并查集
    Redis新的存储模式diskstore
    GPFS文件系统笔记
    redis持久化
    360安全卫士qurl.f.360.cn分析
    [原创]解决DataSet的GetXml()方法空列不返回问题
    在多台服务器上简单实现Redis的数据主从复制
    史航416随笔
    史航416实验1总结
    史航416第二次作业总结
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/11653865.html
Copyright © 2011-2022 走看看