亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

深入理解C# 委托與事件

 更新時間:2024年04月02日 09:23:37   作者:emplace_back  
本文主要介紹了深入理解C# 委托與事件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

這是一個簡單的委托樣例

class TODO {
    public static void Main(String[] args) {

        Cal aa = new Cal(Add);
        Console.WriteLine(aa(2, 3));

    }

    public delegate int Cal(int a, int b);

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

}

如此簡單的應用就是函數(shù)指針的意思
委托就是我給你原材料,你給我我要的成品,至于你拿我原材料干啥,我不是深究。

于是,有一個問題,為什么我不直接調用Add或者Dec函數(shù)呢?
這就是委托最大的好處,變量分離,將不變的封裝起來,隔離變化,例子如下:

class TODO {
    public static void Main(String[] args) {

        test(Add, 2, 3, 4);

    }

    public delegate int Cal(int a, int b);

    internal static void test(Cal cc, int a, int b, int c) {
        int x = 0;
        int y = 0;
        if (a > b) {
            if (a > c) {
                x = a;
            } else {
                if (b > c) {
                    y = b;
                } else {
                    y = c;
                }
            }
        } else {
            if (b > c) {
                x = b;
            } else {
                x = c;
                if (a > b) {
                    y = a;
                } else {
                    y = b;
                }
            }
        }

        int result = cc(x, y);

        Console.WriteLine(result);
    }

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

}

我有一個方案test他的一切都是固定下來的,但是他的計算方法是多變的,因為我們可以用委托來改變傳入的方法
于是我們在不改變test的情況下讓他有了更多的功能

接下來就是事件

到此這篇關于深入理解C# 委托與事件的文章就介紹到這了,更多相關C# 委托與事件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論