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