為什麼使用命名空間(1)
c#採用的是單一的全域性變數命名空間,若有兩個變數或函式的名稱完全相同,就會出現衝突.
如定義了乙個使用者名稱變數username,可能在呼叫某個庫檔案或別的程式**中也定義了相同的變數名,此時便出現了衝突。
命名空間就是為解決c#中變數、函式的命名衝突而服務的。可以將同一名稱的變數定義在不同的命名空間中。
如:張家有電視機,李家也有電視機,王家也有電視機,但因為它們屬於不同的家庭,使用時只需將它們所屬的家庭作為字首名即可。
namespacetcl
class monitor
public void listmodels()
console.writeline("**tcl以下型號的顯示器:");
console.writeline("14\",15\" \n");
namespacech
static void main(string args)
} }
為什麼使用using語句(2)
建立了命名空間後,如果命名空間中巢狀比較深,在外部引用它們時是十分不方便的,書寫冗長.可以使用using語句來簡化對它們的訪問,
using語句的意思就好比是「我們需要對這個命名空間中的變數,所以不要每次總是要求對它們分類」。
什麼情況下使用命名空間的別名
使用using語句可以簡化對命名空間的引用,然而某些命名空間中很可能包含相同名稱的類,在某些情況下卻恰恰需要用到這些同名的類。
例如在.net framework類庫中存在3個timer類:system.timer.timer、
system.threading.timer
和system.windows.forms.timer
,我們需要使
用system.timer.timer在後台以固定的時間間隔檢查所有應用程式或系統
的狀態,而使用
system.windows.forms.timer
來在使用者介面中顯示乙個
簡單的動畫,這時,開發人員就必須在類前面加上命名空間。
別名 解決**冗長問題
using class1 = namespace1.test; //別名到類
using ns2=namespace2.namespace3.namespace4; //別名到命名空間
usingclass2=namespace2.namespace3.namespce4.test
namespacenamespace1
class test
public test()
system.console.writeline("hello from namespace1.test");
classmainclass
public static void main()
class1 obj1=new class1();
ns2.test obj2=new ns2.test();
system.console.read();
namespace namespace2}}
}}別名解決問題衝突}}
namespace tcl
}} }
namespacetest
class test
public void func()
monitor m = new monitor();
命名空間using 宣告
1.作用域操作符 std cin,含義 有運算元的名字可在左運算元的作用域中找到。通過 作用域操作符可實現對全域性範圍的變數進行訪問。例如 cout a 輸出全域性作用域的變數a的值。2.using 宣告 using namespace std using std cin 3.使用標準型別的類定義 ...
namespace命名空間和using使用
命名空間使用 格式 namespace 名稱 主要用途 用來解決命名衝突問題 注意必須定義再全域性作用域下 種類1.命名空間可以巢狀命名空間 2.命名空間是開放的,可隨時往原先的命名空間新增內容 3.無名 匿名命名空間 例如namespace 匿名命名空間相當於 static c 0 static ...
using 命名空間的別名
using 命名空間的別名 using 語句用來引用命名空間中的型別。比如 using system using system.collections.generic using system.linq 但是如果命名空間的名稱非常長,又要在 中多次引用,又不想命名空間包含在using指令中 比如 避...