服務(wù)熱線
153 8323 9821
方法的調(diào)用 方法是一種組合一系列語(yǔ)句以執(zhí)行一個(gè)特定操作的方式。它能夠?yàn)闃?gòu)造程序的語(yǔ)句提供更好的結(jié)構(gòu)和組織。假定要用一個(gè)Main()方法來(lái)統(tǒng)計(jì)某個(gè)目錄下源代碼的行數(shù)。我們不是在一個(gè)巨大的Main()方法中寫(xiě)下所有代碼,而是提供一個(gè)更簡(jiǎn)短的版本,隱藏每一個(gè)方法的實(shí)現(xiàn)細(xì)節(jié)。
首先重新討論一下System.Console.Wriete()、System.Console.WrieteLine()和System.Console.ReadLine()方法。這一次,我們要從方法調(diào)用的角度來(lái)討論它們,而不是將重點(diǎn)放在控制臺(tái)輸入和輸出技術(shù)上面。
static void Main(string[] args) {
string firstName;
string lastName; System.Console.WriteLine("Hey you!");
/// <summary>
/// System為命名空間
/// Console為類(lèi)型名稱(chēng)
/// Write為方法名稱(chēng)
/// ("Enter you first name:")為參數(shù)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param> System.Console.Write("Enter you first name:");
firstName = System.Console.ReadLine();
System.Console.Write("Enter you first name:");
lastName = System.Console.ReadLine();
System.Console.WriteLine("Your full name is {0} {1}.",firstName,lastName);
}
一個(gè)方法的調(diào)用由以下元素構(gòu)成:命名空間、類(lèi)型名稱(chēng)、方法名稱(chēng)、參數(shù)以及返回?cái)?shù)據(jù)類(lèi)型。在一個(gè)完全限定的方法名中,要用句點(diǎn)符號(hào)來(lái)分割每一個(gè)部分。
命名空間
命名空間是一種特殊的分類(lèi)機(jī)制,它將與一個(gè)特定功能集有關(guān)的所有類(lèi)型都分組到一起。命名空間有助于防止類(lèi)型名稱(chēng)發(fā)生沖突。
常用的幾個(gè)命名空間:
using System; //包含基本類(lèi)型、類(lèi)型轉(zhuǎn)換、數(shù)學(xué)計(jì)算、程序調(diào)用以及環(huán)境管理的定義
using System.Collections; //包含了用于處理對(duì)象集合的類(lèi)型。集合通常采取列表或者字典形式的存儲(chǔ)機(jī)制
using System.Collections.Generics; //這是C#2.0新增的一個(gè)命名空間,專(zhuān)門(mén)用于處理依賴于泛型的強(qiáng)類(lèi)型集合
using System.Data; //包含了對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行處理的類(lèi)型
using System.Drawing; //包含了用于操作顯示設(shè)備和進(jìn)行圖像處理的類(lèi)型
using System.Web; //包含用于實(shí)現(xiàn)瀏覽器到服務(wù)器通信的類(lèi)型,
using System.Web.Services; //利用其中包含的類(lèi)型,我們可以使用簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,通過(guò)HTTP來(lái)發(fā)送和獲取數(shù)據(jù)
using System.IO; //包含了用于處理文件和目錄的類(lèi)型,并提供了文件的處理、加載和保存能力
以上都是.net Fromwork 公共語(yǔ)言運(yùn)行庫(kù)(CLR)封裝好的類(lèi)庫(kù),引入以上命名空間,可以使用這些類(lèi)里的方法。
在三層框架中,一個(gè)解決方案里的項(xiàng)目和項(xiàng)目的調(diào)用需要添加引用,同時(shí)也需要在類(lèi)里添加using引用
類(lèi)型名稱(chēng)
類(lèi)型名稱(chēng)可以看做是一種規(guī)范,每個(gè)方法都有自己的類(lèi)型名稱(chēng),假如調(diào)用方法和調(diào)用者不在同一個(gè)類(lèi)中(比如靜態(tài)方法Console.Write())就需要使用類(lèi)型名稱(chēng)限定符(即Console)。和命名空間一樣,如果要調(diào)用的方法包含在當(dāng)前類(lèi)型中,C#允許再調(diào)用該方法時(shí)省略類(lèi)型名稱(chēng)。之所以不需要類(lèi)型名稱(chēng),是因?yàn)榫幾g器能夠根據(jù)調(diào)用者方法推導(dǎo)出類(lèi)型。
究其本質(zhì),類(lèi)型或者類(lèi)是對(duì)方法及其相關(guān)數(shù)據(jù)進(jìn)行組合的一種方式。
作用域
之前講過(guò),作用域?qū)⒙暶鞯目稍L問(wèn)性限制在一個(gè)特定的范圍中。
在同一個(gè)類(lèi)中A方法調(diào)用B方法就不需要指定類(lèi)型名稱(chēng),因?yàn)閮蓚€(gè)方法的作用域是相同的。反之,如果在A類(lèi)中調(diào)用B類(lèi)中的方法,需要指定類(lèi)型名稱(chēng)。
方法名稱(chēng)
C#要求在類(lèi)型名稱(chēng)和方法名稱(chēng)之間使用一個(gè)句點(diǎn)符號(hào),而且必須在方法名之后跟隨一對(duì)圓括號(hào),在圓括號(hào)內(nèi)部,可以添加方法要求的任何參數(shù)值。
參數(shù)
每個(gè)方法可以有0~N個(gè)參數(shù),而且每個(gè)參數(shù)都具有特定的數(shù)據(jù)類(lèi)型。
方法返回值
void關(guān)鍵字表示方法無(wú)返回值。假如方法是int類(lèi)型,返回值也必須是int類(lèi)型,否則就會(huì)發(fā)生編譯錯(cuò)誤。
不同類(lèi)型的方法
static void Main(string[] args)&n