如果只有一个,则在命名空间外部/内部加载导入?

时间:2012-01-27 15:21:49

标签: c# import namespaces using-directives

我只有1个命名空间和这2个不同的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.IO;

namespace blabla
{
    [...]
}

namespace blabla
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.IO;

    [...]
}

我在这里看不出任何区别,但事实确实如此? 我的意思是关于表现或其他什么

2 个答案:

答案 0 :(得分:2)

在性能方面没有差异。命名空间是代码组织和范围的方式。因此,在您的情况下,使用状态将在第一个片段和内部命名空间中全局定义。在这两种情况下,物理组件在两种情况下都会被平均引用。

答案 1 :(得分:1)

这是范围声明的问题。

在第一种情况下,您在文件级“声明”using语句,这意味着它们对您可以在此文件中声明的多个名称空间有效。

在第二种情况下,using语句仅在定义的(namespace-)范围内有效。

希望这会有所帮助:)