命名空間和using使用

2021-07-09 09:24:13 字數 1709 閱讀 4039

為什麼使用命名空間(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指令中 比如 避...