2014-01-31 142 views
0

使用System或其他名称空间的地方? 哪个是编写代码的正确或更好的方法,为什么? 根据我的C#教练这是第二,但我到处看到第一个。使用和名称空间

using System; 
namespace Program 
{ 
    class SomeClass 
    { 
    } 
} 

namespace Program 
{ 
using System; 

    class SomeClass 
    { 
    } 
} 

根据我的C#的教练是第二,但我到处看到的第一个。

+0

你的C#的教练可能有一个Java的背景,不知道更好... –

+1

选中此 http://stackoverflow.com/questions/11812088/differences-between-using-import-inside-或命名空间 –

+1

http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace –

回答

3

using指令的作用域限于它所在的文件。

创建使用别名,以便更容易地将标识符限定为名称空间或类型。使用别名指令的右侧必须始终是完全限定的类型,而不管前面的使用指令如何。

创建using指令以在命名空间中使用类型而不必指定命名空间。 using指令不允许您访问嵌套在指定名称空间中的任何名称空间。

参见:http://msdn.microsoft.com/en-us/library/sf0df423.aspx

0

使用始终位于文档的顶部。

+0

这是为什么?它编译的另一种方式呢? –

+0

@Devcon这不是要求。 –

2

这是您的选择。如果你有一个带有多个命名空间的代码文件,但是只想在这些命名空间之一中使用命名空间导入,那么第二个命令可能会很方便。但是,到目前为止,我所看到的大多数编码指南都指出,文件最多只能包含一个命名空间,而文件的顶部只能包含字母顺序的使用。

1

了StyleCop默认情况下,需要你把usings命名空间内 - 见here;原因如下:(来自链接的页面):

有放置使用指令的名字空间元素内,而不是名称空间的外面,包括之间的细微差别:内

  1. 配售使用别名指令命名空间消除了编译器在冲突类型之间的混淆。

  2. 当在单个文件中定义多个名称空间时,在命名空间元素中放置使用指令作用域引用和别名。