C#新特徵

1.goto語句

    C#語言中可以用來實現跳躍功能的命令主要有:break語句、continue語句和goto語句。

    只要給予一個標記,goto語句就可以將程序跳轉到標記所在的位置。

注意:

goto語句不可以跳到for循環中。
goto語句不可以跳到類的外面。
goto語句不可以退出try{}catch()finally{}語句。

2.委託與事件

①可以把委託看成一種特殊的對象類型,委託可以用於調用與委託返回值類型、參數個數、參數類型完全相同的方法。

//委託類型的定義格式
訪問修飾符 delegate 返回值類型 委託類型名(參數列表);
//委託類型的定義中不包含函數體
public delegate void MyDelegate(String name);

關於委託定義與調用的實例如下:

public delegate void MyDelegate(string name);

class program
{
    public static void ChineseGreeting(string name)
    {
        Console.WriteLine("早上好,"+name);
    }

    public static void Greeting(string name,MyDelegate wt)
    {
        wt(name);
    }

    static void Main(string[] arges)
    {
        MyDelegate delegate1=new MyDelegate(ChineseGreeting);
        Greeting("張三",delegate1);
    }
}

輸出結果:

早上好,張三

還可以將多個方法賦給同一個委託,即將多個方法綁定到同一個委託。當調用這個委託的時候,將依次調用其所綁定的方法。

static void Main(string[] args)
{
    MyDelegate delegate1;
    MyDelegate delegate1=new MyDelegate(ChineseGreeting);
    delegate1+=EnglishGreeting;
    Greeting("張三",delegate1);
    Console.ReadKey();
}

輸出結果爲:

早上好,張三
Good morning,張三

使用“delegate1-=EnglishGreeting;”可以解除方法到委託對象的綁定。

②事件的定義是基於委託的,也就是說需要先定義一個委託類型,然後在委託類型的定義之上定義一個事件。

事件的定義格式:

訪問修飾符 delegate 返回值類型 委託類型名(參數列表);
訪問修飾符 event 委託類型名 事件名;
每個事件都有一個調用列表,當事件被引發,調用列表中的方法將依次被執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章