方法(Method)是一個已命名的語句集。如果以前使用過其他編程語言,如C或Visual Basic等,就可以將方法視為函數或者子程序相似的東西。每個方法都有一個名稱和一個主體。方法名應該是一個有意義的標識符,它應描述出方法的用途(如CalculateIncomeTax)。方法主體包含了調用方法時實際執行的語句。你可以為大多數方法提供一些數據來進行處理,並讓它返回一些信息(通常是處理結果)。方法是一種基本的、功能強大的編程機制。
1、指定方法聲明語法
Microsoft Visual C#方法的語法格式是:
returnType methodName ( parameterList ) { // 這裡添加方法主體語句 }
returnType(返回類型)是一個類型名,它指定了方法返回的信息是什麼類型。這可以是任何類型,如int或string。如果要寫一個不返回值的方法,那麼必須用關鍵字void來取代返回類型。
methodName(方法名)是調用方法時使用的名稱。方法名所遵循的標識符命名規則和變量名一樣。例如,addValues是一個有效的方法名,而add$Values是無效的。目前,應該為方法名采用camelCase命名風格,而且應該以一個動詞開頭,使方法的用途更加一目了然,例如displayCustomer。
parameterList(參數列表)是可選的,它描述了可以傳遞給方法的信息的類型和名稱。在圓括號中填寫變量信息時,要像聲明變量時那樣,先寫上參數的類型名,再寫上參數名。如果方法有兩個或者更多的參數,必須使用逗號來分隔它們。
方法主體語句是調用方法時要執行的代碼行。它們必須放在起始和結束大括號({})之間。
重要提示 C,C++和Microsoft Visual Basic程序員請注意,C#不支持全局方法。所有方法都必須在一個類的內部,否則代碼無法編譯。
以下是一個名為addValues的方法的定義,它返回一個int類型的值,並可接收兩個int類型的參數,分別名為leftHandSide和rightHandSide。
int addValues(int leftHandSide, int rightHandSide) { // ... //這裡添加方法主體語句 // ... }
以下是一個名為showResult的方法的定義,它不返回任何值,並可接收一個名為answer的int參數:
void showResult(int answer) { // ... }
注意,假如方法不返回任何值,那麼必須使用void關鍵字。
重要提示 Visual Basic程序員請注意,C#不允許使用不同的關鍵字來區分一個要返回值的方法(也就是函數)和一個不返回值的方法(也就是過程或者子程序)。在C#中,要麼指定一個返回類型,要麼指定void。
2、return語句
如果希望一個方法返回信息(換言之,它的返回類型不是void),就必須在方法內部寫一個return語句。為此,首先要寫下關鍵字return,再寫一個表達式(它將計算要返回的值),最後寫一個分號。表達式的類型必須與函數指定的返回類型相同。換言之,假如一個函數返回int值,那麼return語句必須返回一個int值。否則,程序將無法編譯。示例如下:
int addValues(int leftHandSide, int rightHandSide) { // ... return leftHandSide + rightHandSide; }
return語句應該位於方法的尾部,因為它會造成方法的結束。return語句之後的任何語句都不會執行(如果堅持在return語句之後添加其他語句,編譯器會因此發生警告)。假如方法不准備返回信息(返回類型為void),可以利用return語句的一個變體來立即從方法中退出。在這種情況下,需要先寫下關鍵字return,然後緊跟一個分號。例如:
void showResult(int answer) { // 顯示答案 ... return; }
如果方法不返回任何信息,還可以省略return語句,因為一旦執行到方法尾部的結束大括號(}),方法會自動結束。不過,雖然這是一種常見的寫法,但並不是一個良好的編程習慣。
研究方法定義
1. 啟動Visual Studio 2005。
2. 打開My Documents文件夾中的\Microsoft Press\Visual CSharp Step by Step\Chapter 3\Methods子文件夾中的Methods項目。
3. 選擇“調試”|“開始執行(不調試)”。Visual Studio 2005將開始生成並運行應用程序。
4. 體驗一下應用程序的運行,單擊Quit。
5. 在“代碼和文本編輯器”窗口中顯示Form1.cs的代碼(在“解決方案資源管理器”中右擊Form1.cs,並從彈出菜單中選擇“查看代碼”)。
6. 在“代碼和文本編輯器”窗口中,找到addValues方法,如下所示:
private int addValues(int leftHandSide, int rightHandSide) { expression.Text = leftHandSide.ToString() + " + " + rightHandSide.ToString(); return leftHandSide + rightHandSide; }
addValues方法包含兩個語句。第一個語句在窗體上的expression文本框中顯示要執行的計算。leftHandSide 和rightHandSide參數值被轉換成了字符串(使用第2章介紹過的ToString方法),並在兩者之間使用一個“+”符號來連接。
第二個語句使用操作符+求leftHandSide和rightHandSide這兩個int變量之和,並返回結果。記住,兩個int值相加得到的也是int值,所以addValues方法的返回類型要設為int。
7. 在“代碼和文本編輯器”窗口中找到showResult方法,如下所示:
private void showResult(int answer) { result.Text = answer.ToString(); }
這個方法只有一個主體語句,作用是在result文本框中顯示answer的字符串形式。