C# 如果只有一个名称空间,是否在名称空间外部/内部加载导入?

C# 如果只有一个名称空间,是否在名称空间外部/内部加载导入?,c#,import,namespaces,using-directives,C#,Import,Namespaces,Using Directives,我只有一个名称空间和这两个不同的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.IO; namespace blabla { [...] } 及 我看不出有什么不同,但真的是这样吗? 我的意思是关于性能或其他方面,在性能方面没有区别。命名空间是代码组织和作用域的方式。因此,在您的

我只有一个名称空间和这两个不同的代码:

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

namespace blabla
{
    [...]
}

我看不出有什么不同,但真的是这样吗?
我的意思是关于性能或其他方面,在性能方面没有区别。命名空间是代码组织和作用域的方式。因此,在您的示例中,将在第一个代码段中全局定义using states,在第二个代码段的名称空间中全局定义using states。在这两种情况下,物理程序集在这两种情况下都将被同等引用。

这是范围声明的问题

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

在第二种情况下,using语句仅在定义的(命名空间)范围内有效

希望这有帮助:)

在此处查看更多信息:
namespace blabla
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.IO;

    [...]
}