2013-10-21 21 views
-2

我想知道這個代碼這些不同類型的命名空間在C#中的意思

我知道下面的代碼包含命名空間

using SampleAngularApp.Models; 
using System; 
using System.Collections.Generic; 

而且我知道下面的代碼包含有什麼區別命名空間

namespace SampleAngularApp.Controllers 
{ 
    ....... 
} 

這兩種類型的命名空間有什麼區別?

+0

我想你甚至可以搜索一分鐘來識別差異 – saeed

回答

3

namespace SampleAngularApp.Controllers定義命名空間(或範圍,或虛擬隔離)。這可能是名稱空間的第一個實例,或者它可能添加到已在別處定義的相同名稱空間。這些名稱空間(作用域)獨立於物理代碼邊界,即相同的名稱空間可以存在於兩個或更多不同的程序集中。

using SampleAngularApp.Models;等是導入命名空間,IOW使該範圍可用於本地代碼。您不需要使用using語句,每次使用類型或引用方法/屬性時都可以指定完整的名稱空間,但這僅僅是瘋狂的。將代碼行放在代碼中可能只有一半的過程 - 您還必須在要使用的名稱空間內添加對具有代碼的程序集的引用。

1

當您使用'使用'鍵。你正在告訴編譯器你想使用這個名字空間,並且你的類中的這個名字空間下的每個類都是我的名字空間,這個名字空間用於我的課,所以當你在另一個命名空間使用你的類時,你需要在使用語句中添加它。

例如:

Using SampleAngularApp.Controllers 

然後我可以使用所有的類都在 'SampleAngularApp.Controllers' 命名空間

+0

「使用」鍵?它有c#嗎? –

+0

'使用'鍵和'使用'語句相同的含義.. – Izikon

+1

我認爲你的意思是「使用」,而不是「使用」 –

1

隨着

namespace SampleAngularApp.Controllers { ....... }

您聲明命名空間是一個範圍讓您組織代碼並防止創建全局唯一類型。

隨着使用SampleAngularApp.Models

;

using System;

using System.Collections.Generic;

您正在告訴編譯器,該代碼塊使用上面的命名空間,並且所有類都是accessible

意味着您可以在應用程序的範圍內使用每一件事物。

相關問題