2010-09-03 53 views
3

編輯錯別字c#使用聲明 - 更多=好或壞?

嗨,

這可能是一個魯鈍的問題,但如果它可以幫助我遵循最佳做法我不在乎:P

說我想用類&方法在System.Data命名空間內......還有System.Data.SqlClient命名空間。

是更好地拉雙方發揮作用,或只是母公司,即...

using System.Data 
using System.Data.SqlClient 

或只是......

using System.Data 

更重要的是我想,它有什麼影響(或者只是一個偏好問題)(聲明父代和子代都使代碼的其餘部分保持整潔,但是這會損害應用程序的速度,因爲它牽扯到整個父命名空間,然後是孩子?)

希望這不是太多華夫餅乾

+0

'using'在C語言中的行爲不像'#include',其中包含不必要或重複的頭文件會引起明顯的編譯性能問題(儘管大多數頭文件會專門包含'guard' )在C#中,'using'純粹是一種幫助IDE和編譯器解析類型名稱的方法。 – 2010-09-03 13:52:20

回答

9

它不會使任何區別於已編譯的代碼。

我個人喜歡只有那些我正在使用的(不是雙關語意圖的),但如果你想有100個,它可能會減慢編譯器的smidge,但它不會改變編譯的代碼(當然,假設沒有命名衝突)。

這只是一個編譯時的方式,當你談論X.Y.Z時,可以讓你編寫Z ...編譯器可以確定你的意思,然後它就是相同的。

如果您打算使用來自兩個不同命名空間的類型(並且層次結構在這裏很大程度上是虛幻的),那麼我將親自指定兩個using指令。

+0

謝謝,是的,似乎大部分信息僅針對Intellisense,如果有任何東西放緩 – isNaN1247 2010-09-03 12:24:08

+0

@beardwizzle和充斥着東西。我不介意是否需要一點時間,就好像我需要知道我已經在想這件事,但是好主人那裏有一大堆課程。 VS和Resharper都可以幫助你保持乾淨(有一個附加組件,它可以讓你在除了resharper之外的情況下移除和排序使用,所以它不僅僅是當你擁有它的時候) – Rangoric 2010-09-03 13:47:27

8

點擊Organize->Remove Usings和Visual Studio會告訴你正確的答案。

+0

這似乎已在VS 2012下發生了變化 - http://msdn.microsoft.com/zh-cn/library/bb514115。爲我工作的方法是在代碼編輯器中右鍵單擊任意位置,指向組織使用,然後單擊刪除未使用的Usings._ – 2012-09-02 14:43:37

2

首先,它對應用程序沒有影響。您可以通過查看編譯器生成的CIL代碼來證明這一點。所有類型都在CIL中用完整的規範名稱聲明。

導入命名空間只是語法糖,可以幫助您編寫較短的代碼。在某些情況下,也許在那裏你有一個非常大的代碼文件,並且只能從一個特定的命名空間一次引用一個類型,你可以選擇而不是來導入命名空間,而是使用完全限定的名字,該類型來自何處的開發人員。儘管如此,它沒有任何區別。

2

表達您的意思,旨在獲得簡潔明瞭的代碼 - 這就是關鍵所在。這對應用程序沒有任何影響,只有你,你的同事和你未來的工作人員的大腦。

1

使用無論發生什麼事情時寫入您的類型名稱,並在VS中按Ctrl + .Enter