[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
|