C#聲明方法實(shí)例說(shuō)明
更新時(shí)間:2008年04月06日 22:42:10 作者:
方法(Method)是一個(gè)已命名的語(yǔ)句集。如果以前使用過(guò)其他編程語(yǔ)言,如C或Visual Basic等,就可以將方法視為函數(shù)或者子程序相似的東西。每個(gè)方法都有一個(gè)名稱(chēng)和一個(gè)主體。方法名應(yīng)該是一個(gè)有意義的標(biāo)識(shí)符,它應(yīng)描述出方法的用途(如CalculateIncomeTax)。方法主體包含了調(diào)用方法時(shí)實(shí)際執(zhí)行的語(yǔ)句。你可以為大多數(shù)方法提供一些數(shù)據(jù)來(lái)進(jìn)行處理,并讓它返回一些信息(通常是處理結(jié)果)。方法是一種基本的、功能強(qiáng)大的編程機(jī)制。
1、指定方法聲明語(yǔ)法
Microsoft Visual C#方法的語(yǔ)法格式是:
returnType methodName ( parameterList )
{
// 這里添加方法主體語(yǔ)句
}
returnType(返回類(lèi)型)是一個(gè)類(lèi)型名,它指定了方法返回的信息是什么類(lèi)型。這可以是任何類(lèi)型,如int或string。如果要寫(xiě)一個(gè)不返回值的方法,那么必須用關(guān)鍵字void來(lái)取代返回類(lèi)型。
methodName(方法名)是調(diào)用方法時(shí)使用的名稱(chēng)。方法名所遵循的標(biāo)識(shí)符命名規(guī)則和變量名一樣。例如,addValues是一個(gè)有效的方法名,而add$Values是無(wú)效的。目前,應(yīng)該為方法名采用camelCase命名風(fēng)格,而且應(yīng)該以一個(gè)動(dòng)詞開(kāi)頭,使方法的用途更加一目了然,例如displayCustomer。
parameterList(參數(shù)列表)是可選的,它描述了可以傳遞給方法的信息的類(lèi)型和名稱(chēng)。在圓括號(hào)中填寫(xiě)變量信息時(shí),要像聲明變量時(shí)那樣,先寫(xiě)上參數(shù)的類(lèi)型名,再寫(xiě)上參數(shù)名。如果方法有兩個(gè)或者更多的參數(shù),必須使用逗號(hào)來(lái)分隔它們。
方法主體語(yǔ)句是調(diào)用方法時(shí)要執(zhí)行的代碼行。它們必須放在起始和結(jié)束大括號(hào)({})之間。
重要提示 C,C++和Microsoft Visual Basic程序員請(qǐng)注意,C#不支持全局方法。所有方法都必須在一個(gè)類(lèi)的內(nèi)部,否則代碼無(wú)法編譯。
以下是一個(gè)名為addValues的方法的定義,它返回一個(gè)int類(lèi)型的值,并可接收兩個(gè)int類(lèi)型的參數(shù),分別名為leftHandSide和rightHandSide。
int addValues(int leftHandSide, int rightHandSide)
{
// ...
//這里添加方法主體語(yǔ)句
// ...
}
以下是一個(gè)名為showResult的方法的定義,它不返回任何值,并可接收一個(gè)名為answer的int參數(shù):
void showResult(int answer)
{
// ...
}
注意,假如方法不返回任何值,那么必須使用void關(guān)鍵字。
重要提示 Visual Basic程序員請(qǐng)注意,C#不允許使用不同的關(guān)鍵字來(lái)區(qū)分一個(gè)要返回值的方法(也就是函數(shù))和一個(gè)不返回值的方法(也就是過(guò)程或者子程序)。在C#中,要么指定一個(gè)返回類(lèi)型,要么指定void。
2、return語(yǔ)句
如果希望一個(gè)方法返回信息(換言之,它的返回類(lèi)型不是void),就必須在方法內(nèi)部寫(xiě)一個(gè)return語(yǔ)句。為此,首先要寫(xiě)下關(guān)鍵字return,再寫(xiě)一個(gè)表達(dá)式(它將計(jì)算要返回的值),最后寫(xiě)一個(gè)分號(hào)。表達(dá)式的類(lèi)型必須與函數(shù)指定的返回類(lèi)型相同。換言之,假如一個(gè)函數(shù)返回int值,那么return語(yǔ)句必須返回一個(gè)int值。否則,程序?qū)o(wú)法編譯。示例如下:
int addValues(int leftHandSide, int rightHandSide)
{
// ...
return leftHandSide + rightHandSide;
}
return語(yǔ)句應(yīng)該位于方法的尾部,因?yàn)樗鼤?huì)造成方法的結(jié)束。return語(yǔ)句之后的任何語(yǔ)句都不會(huì)執(zhí)行(如果堅(jiān)持在return語(yǔ)句之后添加其他語(yǔ)句,編譯器會(huì)因此發(fā)生警告)。假如方法不準(zhǔn)備返回信息(返回類(lèi)型為void),可以利用return語(yǔ)句的一個(gè)變體來(lái)立即從方法中退出。在這種情況下,需要先寫(xiě)下關(guān)鍵字return,然后緊跟一個(gè)分號(hào)。例如:
void showResult(int answer)
{
// 顯示答案
...
return;
}
如果方法不返回任何信息,還可以省略return語(yǔ)句,因?yàn)橐坏﹫?zhí)行到方法尾部的結(jié)束大括號(hào)(}),方法會(huì)自動(dòng)結(jié)束。不過(guò),雖然這是一種常見(jiàn)的寫(xiě)法,但并不是一個(gè)良好的編程習(xí)慣。
研究方法定義
1. 啟動(dòng)Visual Studio 2005。
2. 打開(kāi)My Documents文件夾中的\Microsoft Press\Visual CSharp Step by Step\Chapter 3\Methods子文件夾中的Methods項(xiàng)目。
3. 選擇“調(diào)試”|“開(kāi)始執(zhí)行(不調(diào)試)”。Visual Studio 2005將開(kāi)始生成并運(yùn)行應(yīng)用程序。
4. 體驗(yàn)一下應(yīng)用程序的運(yùn)行,單擊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方法包含兩個(gè)語(yǔ)句。第一個(gè)語(yǔ)句在窗體上的expression文本框中顯示要執(zhí)行的計(jì)算。leftHandSide 和rightHandSide參數(shù)值被轉(zhuǎn)換成了字符串(使用第2章介紹過(guò)的ToString方法),并在兩者之間使用一個(gè)“+”符號(hào)來(lái)連接。
第二個(gè)語(yǔ)句使用操作符+求leftHandSide和rightHandSide這兩個(gè)int變量之和,并返回結(jié)果。記住,兩個(gè)int值相加得到的也是int值,所以addValues方法的返回類(lèi)型要設(shè)為int。
7. 在“代碼和文本編輯器”窗口中找到showResult方法,如下所示:
private void showResult(int answer)
{
result.Text = answer.ToString();
}
這個(gè)方法只有一個(gè)主體語(yǔ)句,作用是在result文本框中顯示answer的字符串形式。
您可能感興趣的文章:
相關(guān)文章
ASP.NET中 RadioButtonList 單選按鈕組控件的使用方法
本文主要簡(jiǎn)單介紹RadioButtonList控件的常見(jiàn)屬性和使用方法,希望對(duì)大家有所幫助。2016-04-04ASP.NET?Core?MVC中Required與BindRequired用法與區(qū)別介紹
這篇文章介紹了ASP.NET?Core?MVC中Required與BindRequired用法與區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02.NET?Core使用flyfire.CustomSerialPort實(shí)現(xiàn)Windows/Linux跨平臺(tái)串口通訊
本文詳細(xì)講解了.NET?Core使用flyfire.CustomSerialPort實(shí)現(xiàn)Windows/Linux跨平臺(tái)串口通訊的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01ASP.NET?Core命名空間System.Text.Encodings.Web介紹
這篇文章介紹了ASP.NET?Core命名空間System.Text.Encodings.Web,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01