1. 程式人生 > >[C#基語法]之C#名稱空間(namespace)

[C#基語法]之C#名稱空間(namespace)

我對名稱空間的一些想法
       說到這個,我相信只要有點C#基礎的人都會很清楚的說,這個我知道,這個我理解。這個不就是一個名稱空間嗎?用Java程式設計師的話說就是一個包名。
      如果您真的認同以上說法那我以不幸的告訴你,你還真應該深入學習一下了。
我提幾點大家看看有沒有道理
1.名稱空間的定義是有一個規範的。不是隨便起的。 詳細的等下再說
2.名稱空間的匯入是與新增引用息息相關的。
3.名稱空間之間的類或者是物件是相對獨立的。
4.名稱空間是可以用別名的。


這些不知道大家知道嗎?
下面我一個一個的來分析一下
1.名稱空間的定義是有一個規範的。不是隨便起的。 

這個名字可不是亂起的,是要有一定規範的,那有人會問亂起呢,亂起當然不會影響程式執行,但是你的程式會變的很可怕。
這裡我給大家提個醒,給一些類分配名稱空間時一定要讓他們有相同之處才可以分在一起
2.名稱空間的匯入是與新增引用息息相關的
有時候我們會發現在引用一個名稱空間之後是無效的,還是提示沒有匯入相應的名稱空間,比如我們在Winform下寫了這樣一個方法
[C#] 純文字檢視 複製程式碼 ?
01 02 03 04 05 06 07 08 public static string URLDecode(
string text) { return HttpUtility.UrlDecode(text, Encoding.Default); } public static string URLEncode(string text) { return HttpUtility.UrlEncode(text, Encoding.Default); }

生成一下
 
大家會說HttpUtility不是明明在using System.Web;下面嗎?我都引用了怎麼還報錯。
這種情況其實很常見,原因就是我們只引用的名稱空間,但並沒有新增引用。

因為在Cs專案 中預設的是不載入using System.Web;這個名稱空間的。
所以我們要手動的新增一個引用才可以
方法如下
 
找到這個名稱空間
 
然後這時再引用一下就行了
 
這樣就可以使用這兩個方法了。
所以並不是Cs下的類庫不能被Bs呼叫,而是我們沒有匯入名稱空間的問題。這點大家一定要注意哦
3.名稱空間之間的類或者是物件是相對獨立
這一點我就不過多的說了,因為大家都知道在不同的名名稱空間裡呀類名是可以重複的。只要在引用時使用不同的名稱空間名稱進行區分就行了
4.名稱空間是可以用別名
這一點我想以一個例子來說明
看下面程式碼
NameClass類
[C#] 純文字檢視 複製程式碼 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 using System; using System.Collections.Generic; using

相關推薦

[C#語法]C#名稱空間(namespace)

我對名稱空間的一些想法        說到這個,我相信只要有點C#基礎的人都會很清楚的說,這個我知道,這個我理解。這個不就是一個名稱空間嗎?用Java程式設計師的話說就是一個包名。       如果您真的認同以上說法那我以不幸的告訴你,你還真應該深入學習一下了。

C++ 名稱空間namespace【轉】

(轉自:https://blog.csdn.net/touzani/article/details/1637776?utm_source=blogxgwz7) 名稱空間 在C++中,名稱(name)可以是符號常量、變數、巨集、函式、結構、列舉、類和物件等等。為了避免,在大規模程式的設計中,以

c++名稱空間 namespace學習

我們為什麼需要名稱空間? 我們假設一下這種情況,在A班中,有一名同學叫周磊,在B班中,也有一名同學叫周磊,現在兩個班的同學一起聚會,老師找A班的周磊,這時候他在人群中喊一聲周磊肯定兩個周磊都過來了,這個時候B班周磊就白跑一趟了,為了避免這種尷尬,老師只要喊“A班的周磊過來一下就行了”。在c

C#中的名稱空間namespace與Java中的包package之間的區別

Java 包被用來組織檔案或公共型別以避免型別衝突。包結構可以對映到檔案系統。 System.Security.Cryptography.AsymmetricAlgorithm aa; 可能被替換: import System.Security.Crypography; class xxx { .

C++】名稱空間 namespace

本講基本要求      * 掌握:名稱空間的作用及定義;如何使用名稱空間。      * 瞭解:使用早期的函式庫  重點、難點      ◆名稱空間的作用及定義;如何使用名稱空間。 在學習本書前面各章時,讀者已經多次看到在程式中用了以下語句: using namespa

【轉】C++名稱空間 namespace的作用和使用解析

一、 為什麼需要名稱空間(問題提出)     名稱空間是ANSIC++引入的可以由使用者命名的作用域,用來處理程式中 常見的同名衝突。    在 C語言中定義了3個層次的作用域,即檔案(編譯單元)、函式和複合語句。C++又引入了類作用域

C++中的名稱空間namespace詳解及細節參考

名稱空間特性 c++中要求可以通過定義一種新的宣告區域來建立名稱空間,這樣目的之一就是提供一個宣告名稱的區域。一個名稱區域中的名稱不會與另外一個名稱空間的相同名稱發生衝突,同時允許程式中的其他部分使用該名稱訪問空間中宣告的東西 使用namespace建立名稱空間的栗子: namespac

c++的名稱空間namespace

c++的名稱空間使用是為了限制一些變數名或者函式只能在名稱空間的範圍類使用,避免重複的變數名使用混淆。猶如std一樣,在std內的一些變數名或許和一些其他的名稱空間內的變數名重複,但是使用 std::變數名 就可以與其他空間內的變數名進行區分 #include "iostream" us

C#System名稱空間下的Console類

常用方法: Console.Write  表示向控制檯直接寫入字串,不進行換行,可繼續接著前面的字元寫入。 Console.WriteLine  表示向控制檯寫入字串後換行。 Console.Read

C++_名稱空間namespace 與 using編譯指令 與 using宣告使用。

名稱空間: C++中允許使用者建立自己的使用者空間。可以通過關鍵字namespace 宣告即可 需要注意的事項: 名稱空間可以是全域性的,也可以位於另一個名稱空間中,但不能位於程式碼塊中。 示例程式碼

C#基本語法ref和out

ref和out ons 方式 基本 必須 sta read stat int ref參數必須在初始化的時候為其賦值,否則會報錯 static void Main(string[] args) { //out需要在初始化時為變量賦值,如果初始的值為空則會報錯

c++基礎語法構造函數和初始化表

沒有 參數表 編譯器 ima http 構造函數 struct 轉換 顯示 筆者剛系統的重學了c++的語法,看到構造函數和初始化表這塊,發現這塊語法有點復雜且很雜,怕以後忘記,於是寫下此篇,以後回憶之用。 c++構造函數 3、構造函數(constructor

C# 方法與引數 常見名稱空間彙總 using的使用 main方法引數

本文主要講 C# 常見名稱空間 using static 指令 && 呼叫靜態方法 巢狀名稱空間&&作用域 別名 Main() 方法 C# 常見名稱空間 名稱空間 作用 System 建立檔案是預設引入,處理數學計算、、環境變數、輸出控制檯、垃圾回收器及一

C# 方法與引數 常見名稱空間彙總 using的使用 main方法引數 本文主要講

本文主要講 C# 常見名稱空間 using static 指令 && 呼叫靜態方法 巢狀名稱空間&&作用域 別名 Main() 方法 C# 常見名稱空間 名稱空間 作用 System 建立檔案是預設引入,處理數學計算、、環境變數

c#如何獲取某一名稱空間下的所有的類的資訊

如果是當前下的。用Assembly.GetExecutingAssembly().GetTypes(); 如果是外部DLL,用Assembly.Load("namespace").GetTypes(); 原理是反射,所以上面一定要加上using System.Reflect

C++筆記(三)——名稱空間

定義和使用名稱空間         在一個應用程式的多個檔案中可能會存在同名的全域性物件,這樣會導致應用程式的連結錯誤。使用名稱空間是消除命名衝突的最佳方式。 名稱空間的定義格式為: namespace 名稱 {       常量、變數、函式等物

C#高階語法泛型、泛型約束,型別安全、逆變和協變(思想原理)

一、為什麼使用泛型? 泛型其實就是一個不確定的型別,可以用在類和方法上,泛型在宣告期間沒有明確的定義型別,編譯完成之後會生成一個佔位符,只有在呼叫者呼叫時,傳入指定的型別,才會用確切的型別將佔位符替換掉。 首先我們要明白,泛型是泛型,集合是集合,泛型集合就是帶泛型的集合。下面我們來模仿這List集合看一下下面

47.名稱空間namespace

每個名稱空間就是一個作用域。 名稱空間是不連續的,存在則追加,不存在則建立。 內聯名稱空間,可以使得最外層的名稱空間直接使用內層任何一層的成員名字,而無需新增中間層的名稱空間的名字。 未命名的名稱空間中定義的成員具有靜態生命週期,宣告時建立,程式結束時銷燬。內層未命名的

php 名稱空間(namespace)

php名稱空間 版本(PHP 5 >= 5.3.0, PHP 7)   一. 名稱空間概述 什麼是名稱空間?從廣義上來說,名稱空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了名稱空間

C++PrimerPlus學習C++中的程式碼重用

has-a關係 包含物件成員的類 易於理解及使用 可包含多個基類,易於區分。 建構函式初始化的是成員物件,而不是繼承的物件,所以在初始化列表中使用的是成員名,而不是類名。 當初始化列表包含多個專案時,這些專案被初始化的順序為