位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 局部函數(shù)

提問人:劉團(tuán)圓發(fā)布時間:2020-12-04

    從Main(string[] aigs)函數(shù)中提取出代碼的原因在于,可在同一程序中復(fù)用這些提取出的代碼,而不必多次編寫它們。在此想要強(qiáng)調(diào)的是,在大多數(shù)情況下設(shè)計和創(chuàng)建程序時,應(yīng)該都要遵循這種思維方式。

    注意隨著時間的流逝,人們期望程序做的事情越來越多,所以程序會變得越來越復(fù)雜。隨著程序功能不斷增加,會導(dǎo)致開發(fā)人員在程序中添加更多函數(shù)。而程序擁有的函數(shù)越多,對其他開發(fā)人員而言,修改(如修復(fù)bug或添加新功能)的難度就會越大。這不僅是因為函數(shù)量的增加,還因為函數(shù)的最初意圖被遺忘。這樣一來,有些函數(shù)就可能不按創(chuàng)建者的最初意圖,被用于其他目的,這樣在錯誤修改它們后就會導(dǎo)致嚴(yán)重問題。

    如果發(fā)現(xiàn)需要對他人所編寫的函數(shù)進(jìn)行修改,可以考慮使用局部函數(shù)。局部函數(shù)允許在另一個函數(shù)的上下文中聲明一個函數(shù),這樣做有助于提高程序的可讀性,讓他人快速理解程序的目的。

以下面的代碼為例:

class Program

{

  static void Main(string[] args) 

  {

    int myNumber = 5;

    WriteLine($"Main Function = {myNumber}");

    DoubleIt(myNumber);

    ReadLine();


    void Doublelt(int val)

    {

      val *= 2;

      WriteLine($"Local Function - val = {val}");

    }

  }

}

注意,DoubleIt()函數(shù)存在于Main(striiig[]args)函數(shù)中,不能從Program類中的其他函數(shù)中調(diào)用該函數(shù)。


最后要記住的是,在函數(shù)聲明的前面添加async關(guān)鍵字可以編寫異步局部函數(shù)。異步編程是一個高級話題,它的功能是非常強(qiáng)大的。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部