PPT:方法是包含一系列語句的代碼塊。它實現了一定的功能,並擁有一個便於識別的名稱,也便於在程序中調用。
聲明方法的語法
成員訪問修飾符 返回值 方法名稱(參數列表)
{
//方法的內容
}
聲明一個方法首先要定義它的訪問修飾符,比如是Public,還是Private等等。接下來要寫這個方法的返回值的類型,如果沒有返回值則用void來代替。接下來是方法的名稱由自己定義,方法的名稱不可重複,大小寫視爲不同,這個不可重複是指的同一個類,或者是說同一個命名空間之下,如果處於不同命名空間之下方法的名稱是可以相同的。接下來在小括號中編寫參數列表,參數可以沒有,也可以是多個,參數的類型可以是一個類型,也可以是多種類型,多個參數之間用逗號分隔。最後是方法的內容,方法的內容包含在{}之中,下面我們來簡單編寫一個方法。
我們新建一個文件Method.cs:
屏幕上打印了一行字,沒有問題。下面呢,我們把上的輸出語句聲明成一個方法。
好,下面我們寫一個如何帶返回值的方法,代碼如下:
我們看屏幕上打印出了當前的時間。下面我們演示一下帶參數的方法,代碼如下:
從剛纔的運行過程我們可以看出,程序不斷的等待用書輸入,並不斷的調用MyMethod方法,而且打印出你所輸入的字符串。
下面我們演示一下帶多個參數的方法,代碼如下:
我們看屏幕上打印出i+k=8,也就是5加3等於8,得到了正確的結果。
下面我們來講一下共享變量。C#語言是一門完全面向對象的語言,它屏棄了全局變量,但是如果兩個以上的方法要共享一個變量則要將此變量聲明在類(Class)階層。和局部變量不同的地方在於,類級別變量的生命週期是在此類加載到內存時就會自動地分配內存空間,要等到此對象被Common Language Runtime的垃圾回收器(Garbage Collector)回收時,纔會釋放掉所佔用的內存空間。
以前我們在使用C++編程時,需要手工的編寫代碼去釋放我們內存空間中編寫的類或方法,而在C#中就不再需要做這樣的工作了。C#中的垃圾回收不在我們的程序中進行,而是由.NET統一在適當的時候進行。這大大減少了寫出不合理代碼的可能性,也增加了編程的效率,使得我們可以更加專注於程序的邏輯,下面我們來演示一下如何共享變量。
我們該一下剛纔的代碼,代碼如下:
屏幕上顯示的結果是2,也就是說add()這個函數被調用了2次,而這次調用是通過2個不同實例來調用的。換句話說,不管類A創建了多少個實例,所有的實例始終共享這個i。這樣通過static這個關鍵字聲明一個靜態變量就可以實現全局函數的功能了。
現在我們來做個實驗,刪除static這個關鍵字,我們看看程序會不會報錯~會,編譯不通過,錯誤原因就是A.i。也就是說非靜態的變量不能直接使用名稱來訪問,但是我們可以使用實例來訪問。假如改成b.i通過實例b來訪問i。代碼中同樣調用了2次add()方法,我們進行編譯看執行的結果卻是1。也就是說a和b這2個實例裏面各有一個i的副本,而b實例中的i只增加了一次,所以結果是1。好這節課先講到這裏。