是否有任何技术原因可以选择
namespace Foo
{
using System;
using System.IO;
而不是默认
using System;
using System.IO;
namespace Foo
{
答案 0 :(得分:7)
Eric Lippert explains this。
一般来说,它们是完全相同的
但是,命名空间中的using
语句可以看到名称空间外包含的名称空间和别名。
答案 1 :(得分:2)
几乎*两者之间的唯一区别是,如果您在同一个文件中使用了多个命名空间(或者您多次使用相同的命名空间)。我不确定你为什么要这样做,你当然可以:
using System;
namespace FooNamespace
{
using System.IO;
class Foo
{
// you can use types from System and System.IO directly here
}
}
namespace BarNamespace
{
class Bar
{
// you can't use types from System.IO directly here
// but you can use types from System
}
}
*请参阅SLaks的回答。
答案 2 :(得分:0)
没有技术原因,只是偏好。当然,第二块代码看起来更干净。