2012-02-27 67 views
2

在C#中,從內存管理的角度來看,使用類型化命名空間還是包含整個命名空間更有效率?顯式使用名稱空間與包含整個引用

例如:

using mySpace.someLogic; 

public class Foo 
{ 
public void Bar() 
{ 
    doSomethingFromsomeLogic(); 
} 
} 

public class Foo 
{ 
public void Bar() 
{ 
    mySpace.someLogic.doSomething(); 
} 
} 

是一種方式更有效?如果答案是「取決於」,那麼它依賴於什麼?

這個問題是類似的Does including an entire namespace slow things down?,但詢問速度和我更關心記憶。

+0

請注意,您所鏈接問題的接受答案是:「編譯器不關心;它會以兩種方式發出相同的IL,並且您的代碼將更短,更易於閱讀。」相同的IL意味着速度沒有區別;這也意味着內存使用沒有區別。 'using'指令不是可執行語句。 – phoog 2012-02-27 21:40:12

+0

@phoog - 謝謝,我實際上並沒有意識到,直到Yuck回答說引用不會包含在內,這讓我想到如何製作.dll。 – 2012-02-27 21:44:08

回答

10

它沒有區別 - 這完全是個人偏好。編譯器對任何一種風格都是一樣的。如果在編譯期間它確定你沒有使用該引用,它將不被包括在內。

與您的問題相關的Visual Studio有清理和刪除未使用的引用的工具。

3

它會讓你的程序員變慢,這比減慢計算機速度更重要。

儘管如此,它在結果編譯代碼中沒有任何區別。

相關問題