位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 表達式 名稱空間

提問人:劉團圓發(fā)布時間:2020-11-12

在繼續(xù)學習前,應花一定的時間了解一個比較重要的主題——名稱空間。它們是_NET中提供應用程序代碼 容器的方式,這樣就可以唯一地標識代碼及其內(nèi)容。名稱空間也用作.NETFramework中給項分類的一種方式。 大多數(shù)項都是類型定義。

默認情況下,碼包含在全局名稱空間中。這意味著對于包含在這段代碼中的項,全局名稱空間中的其 他代碼只要通過名稱進行引用,就可以訪問它們??墒褂胣amespace關鍵字為花括號中的代碼塊顯式定義名稱 空間。如果在該名稱空間代碼的外部使用名稱空間中的名稱,就必須寫出該名稱空間中的限定名稱。

限定名稱包括它所有的分層信息。這意味著,如果一個名稱空間中的代碼需要使用在另—個名稱空間中定 義的名稱,就必須包括對該名稱空間的引用。限定名稱在不同的名稱空間級別之間使用句點字符(_),如下所示:

namespace LevelOne

{

// code in LevelOne namespace // name "NameOne*1 defined

}

IIcode in global namespace

這段代碼定義了一個名稱空間LevelOne,以及該名稱空間中的一個名稱NameOne(注意這里在應該定義名 稱空間的地方添加了一個注釋,而沒有列出實際代碼,這是為了使我們的討論更具普遍性)。在名稱空間LevelOne 中編寫的代碼可以直接使用NameOne來引用該名稱,但全局名稱空間中的代碼必須使用限定名稱 LevelOne.NameOne來引用這個名稱。

需要注意特別重要的一點:using語句本身不能訪問另一個名稱空間中的名稱。除非名稱空間中的代碼以某 種方式鏈接到項目上,或者代碼是在該項目的源文件中定義的,或者是在鏈接到該項目的其他代碼中定義的, 否則就不能訪問其中包含的名稱。另外,如果包含名稱空間的代碼鏈接到項目上,那么無論是否使用using,都 可以訪問其中包含的名稱。using語句便于我們訪問這些名稱,減少代碼量,以及提高可讀性。

分析ConsoleApplicationl中的代碼,會看到下面這些被應用到名稱空間上的代碼:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplicationl

以using關鍵字開頭的5行代碼聲明在這段C#代碼中使用System、System.Collections.Generic> System.Linq、 System.Text和System.Threading.Tasks名稱空間,它們可以在該文件的所有名稱空間中訪問,不必進行限定。System 名稱空間是.NETFrameworic應用程序的根名稱空間,包含控制臺應用程序需要的所有基本功能。其他4個名稱 空間常用于控制臺應用程序,所以該程序包含了它們。最后,為應用程序代碼本身聲明一個名稱空間

ConsoleApplicationl。

C# 6新増了 using static關鍵字。這個關鍵字允許把靜態(tài)成員直接包含到C#程序的作用域中。例如,本章 的兩個示例都使用了 System.Console靜態(tài)類中的System.Console.WriteLineO方法。注意,在這些例子中,應包 括Console類和WriteLineO方法。把using static System.Console添加到名稱空間列表中時,訪問WriteLineO方法 就不再需要在前面加上靜態(tài)類名。

之后需要System .Console靜態(tài)類的所有代碼示例就包括using static System.Console關鍵字。


繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部