c#使用声明 - 更多=好还是坏?

时间:2010-09-03 12:12:22

标签: c# namespaces using

编辑拼写错误

嗨,

这可能是一个愚蠢的问题,但如果它帮助我遵循最佳实践,我不在乎:P

说我想要使用课程& System.Data命名空间内的方法......以及System.Data.SqlClient命名空间。

将两者都拉到比赛中还是只是父母比较好,即......

using System.Data
using System.Data.SqlClient

或只是......

using System.Data

更重要的是,我猜,它是否会对应用程序产生任何影响 - 或者它只是一个偏好问题(声明父母和孩子保持代码的其余部分干净整洁,但这样做会对应用程序的速度,因为它拉入整个父命名空间然后是一个孩子?)

希望不要太多华夫饼干

5 个答案:

答案 0 :(得分:9)

它不会对编译的代码产生任何差异。

我个人喜欢只使用我正在使用的那些(没有双关语),但如果你想拥有100个,它可能会使编译器变慢,但它不会改变编译后的代码(假设当然没有命名冲突。

当你谈论X.Y.Z时,这只是一种让你编写Z的编译时方式...编译器可以解决你的意思,之后就是相同的。

如果您要使用来自两个不同名称空间的类型(这里的层次结构很大程度上是幻想),我个人会同时拥有using个指令。

答案 1 :(得分:8)

单击Organize->Remove Usings,Visual Studio将告诉您正确的答案。

答案 2 :(得分:2)

首先,它对应用程序没有影响。您可以通过查看编译器生成的CIL代码来证明这一点。所有类型都在CIL中以其完整的规范名称声明。

导入名称空间只是语法上的糖,可以帮助您编写更短的代码。在某些情况下,也许您有一个非常大的代码文件并且一次只引用特定命名空间中的类型,您可以选择 not 来导入命名空间,而是使用完全限定的名称因此开发人员可以清楚地知道类型的来源。但是,它仍然没有区别。

答案 3 :(得分:2)

表达您的意思,并以简洁明了的代码为目标 - 这一切都很重要。这对应用程序没有任何影响,只对你,你的同事和你未来的工人大脑有效。

答案 4 :(得分:1)

使用写下您的类型名称时发生的任何事情,然后在VS中按Ctrl + .Enter