在C#中,你可以这样做:
namespace Blah
{
namespace Foo
{
}
}
或者:
namespace Blah.Foo
{
}
如果有,我应该更喜欢哪一个?底部的大括号有点干净,但我不知道它是否具有相同的属性。
答案 0 :(得分:2)
两者表现平平,我更喜欢第二种。
通常,人们更喜欢每个类/接口有1个.cs文件,或者至少对于类似的组(例如,所有Tuple实现),这意味着你通常在.cs文件中有1个命名空间。
嵌套命名空间添加缩进级别。通常,对于您编写的每段代码,您已经深入3级(命名空间,类,方法),那么为什么要添加更多不必要的缩进?
答案 1 :(得分:2)
他们是完全相同的。唯一的区别是能够在顶部示例中的外部Blah
内放置额外的东西(类型,使用指令)(这可能是也可能不是一个好主意)。我不认为我曾经在实际代码中使用过第一个版本......第二个版本通常是首选版本。
答案 2 :(得分:2)
这两种方式产生相同的结果:内部代码将位于命名空间Blah.Foo
中。
我更喜欢第二个版本,因为它更短,并且不会不必要地添加缩进级别。
如果你想在一个文件中从相关命名空间声明几个类型,我可以看到第一个选项,但我认为在大多数情况下这不是一个好主意。