戳人痛处

导航

[记]c#匿名方法

匿名方法使用delegate进行定义并委托;

相当于之间委托一个函数而不定义其方法名;

delegate void NumberChanger(int n);

      NumberChanger nc = delegate(int x){
                Console.WriteLine(x.ToString());
            };
nc(3);

匿名方法本质上就是一个委托方法;

using System;
using System.IO;

delegate void NumberChanger(int n);

namespace DelegateAnoy{
    class TestDelegat{
        private void print99addx(int x){
            Console.WriteLine((99+x).ToString());
        }
        static void Main(string[] args){
            NumberChanger nc = delegate(int x){
                Console.WriteLine(x.ToString());
            };
            nc+=delegate(int x){
                int xx = x+1;
                Console.WriteLine(xx.ToString());
            };
            TestDelegat pp = new TestDelegat();
            nc+=new NumberChanger(pp.print99addx);
            nc(3);
        }
    }
}

 

posted on 2022-07-12 16:59  戳人痛处  阅读(39)  评论(0编辑  收藏  举报