gpt4 book ai didi

.net : namespace : what is exact difference in writing USING directives before or after namespace

转载 作者:行者123 更新时间:2023-12-04 16:52:49 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




9年前关闭。




Possible Duplicate:
Should Usings be inside or outside the namespace
.NET namespaces and using statements



在命名空间声明之前或之后编写 USING 指令的确切区别是什么。

例子 :
using System;
using System.Linq;
using NUnit.Framework;

namespace HostTest
{
/** code goes here **/
}


namespace HostService
{
using System.Runtime.Serialization;
using System;

/** code goes here **/
}

最佳答案

Darin 的回答是正确的,但并不全面——因为它也对 using 指令本身执行查找的方式产生影响:它们是否尝试匹配另一个命名空间中的名称。
Eric Lippert 有一个 great blog post进入更多细节。在我看来,最重要的一点是在最后:

Therefore my advice is now:

  • have only one top-level namespace per file
  • if you choose to put using directives inside your namespaces then fully qualify them with the global alias qualifier

作为推论,我建议第二点意味着在命名空间内使用指令比在命名空间外使用指令更难正确,我会选择将它们放在外面。这也有助于这是 Visual Studio 默认:)
不过,这只是一个编译时问题——它只影响编译器查找名称的方式,而不影响使用这些名称生成的代码的样子。
术语的最后一点:您的问题涉及 using声明,但所有这些都是 using指令。 using语句是获取资源并在最后处理它的语句:
using (Stream stream = ...)
{
// ...
}
我只是本着继续教育的精神提到这一点 - 在这个特殊情况下你的意思很明显:)

关于.net : namespace : what is exact difference in writing USING directives before or after namespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3994380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com