首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

充分利用 C# 匿名方法平台優勢 (2):變數範圍與參數傳遞

     編輯:關於C語言

範例 2:變數範圍與外部變數捕獲


private delegate void Example2();
private void btnExample2_Click(object sender, EventArgs e)
{
    string firstName = "Zach", lastName = "Smith";
    Example2 ex = new Example2(delegate()
    {
        MessageBox.Show(firstName + " " + lastName);
    });
    ex();
}

匿名方法可存取外部變數(firstName, lastName),但自身宣告的變數不外洩。注意:匿名方法無法存取 ref/out 參數。

範例 3:參數傳遞


private delegate void Example3(string firstName, string lastName);
private void btnExample3_Click(object sender, EventArgs e)
{
    string p1 = "Zach", p2 = "Smith";
    Example3 ex = new Example3(delegate(string fn, string ln)
    {
        MessageBox.Show("Example3: " + fn + " " + ln);
    });
    ex(p1, p2);
}

委托參數列表需與匿名方法宣告一致,呼叫時傳入實際引數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved