名称空间在C#中是必不可少的吗?

名称空间在C#中是必不可少的吗?,c#,namespaces,C#,Namespaces,我在下面读到: 名称空间对于C#程序不是必需的。他们通常习惯于 使代码更清晰 这让我很困惑,因为我有一个建议,你应该总是使用一个名称空间。 我试图从VS2010中创建一个win-form应用程序,删除自动生成的名称空间,但代码无法编译 因此,我感到困惑的是: 什么时候(如果)名称空间在C#程序中是必不可少的 您可以编写没有名称空间的C#程序,但如果没有名称空间,则无法访问.NET framework。所以你真的很需要它们。我建议你阅读这篇文章 您可以看到以下内容: 无论是否在C#源文件中显式声

我在下面读到:

名称空间对于C#程序不是必需的。他们通常习惯于 使代码更清晰

这让我很困惑,因为我有一个建议,你应该总是使用一个名称空间。 我试图从
VS2010
中创建一个win-form应用程序,删除自动生成的名称空间,但代码无法编译

因此,我感到困惑的是:

  • 什么时候(如果)名称空间在C#程序中是必不可少的

您可以编写没有名称空间的C#程序,但如果没有名称空间,则无法访问.NET framework。所以你真的很需要它们。

我建议你阅读这篇文章

您可以看到以下内容:

无论是否在C#源文件中显式声明名称空间,编译器都会添加默认名称空间

我建议您在需要组织代码时使用它,例如:您有两种不同类型的模型,您不希望它们共享代码

我试图提出一份获胜申请表

这里要犯的标准错误是,您从
YourForm.cs
源代码文件中删除了名称空间,但忘记对
YourForm.Designer.cs
文件执行相同的操作。这样编辑Designer.cs文件是可以的。但当然,这会给你的努力增加更多的FUD


与机器搏斗没有任何意义。Microsoft希望您使用名称空间是有充分理由的,它们有助于避免标识符名称冲突,并在发生冲突时找到解决方法。你可以完整地拼写这个名字。如果您的标识符都在全局名称空间中,那么就没有这样的解决方法。

看一看,我认为这不是基于意见的。他们不是问是否应该使用名称空间,而是问是否必须使用名称空间。看看埃里克的回答。好吧,我将参加投票,因为在我看来,他们永远不应该被使用你是说“你不想让他们分享代码”吗?我是一名自学成才的半高级程序员,正在认真尝试猜测名称空间的相关性,以保持代码干净,如果我应该自己开始创建名称空间。。。归根结底,我对设计模式和重构技术非常着迷……确切地说,我的错,没有看到那里的打字错误。最终,您可以将名称空间视为一种组织工具,在这种工具中,您知道的某个模型的名称可以位于program.Models的名称下,或者您甚至可以更进一步,将其置于program.Models.nameofBusiness Logic的名称下。从这个意义上讲,它在导入时(或多或少)与Python的模块类似,不是吗?但是声明名称空间和其他东西可能需要一个具体的方法。。。无论如何,我会记住你的话。。。因此,下一次我在C#中使用名称空间时,我必须将它们视为“模块”,以保持一切有序。