(关于最佳实践的问题)为啥默认情况下“使用 System.Text”?
Posted
技术标签:
【中文标题】(关于最佳实践的问题)为啥默认情况下“使用 System.Text”?【英文标题】:(Question on best practice) Why is "using System.Text" there by default?(关于最佳实践的问题)为什么默认情况下“使用 System.Text”? 【发布时间】:2011-09-09 17:55:59 【问题描述】:每次创建类时,我都会看到默认添加的using System.Text
(以及其他using
)。每次我都会在一段时间后删除它,因为根据 ReSharper,它没有被使用。
我错过了最佳实践吗?你经常使用那个命名空间吗?在什么情况下?
默认引用这个命名空间肯定是有原因的。
谢谢!
【问题讨论】:
StringBuilder 是大香蕉。 【参考方案1】:System.Text 命名空间包含类、抽象基类和辅助类。 例如,如果您想利用 StringBuilder、解码器、编码器等...。
上述类在 .net 中的大多数情况下都起着重要作用。但它没有必要存在于您的代码中。它仅适用于您何时需要它。重要的是要知道何时需要命名空间。
为了方便开发者,默认添加在visual studio中。与 System.Linq 命名空间,并非所有时间您都会使用它,但为了您的方便,假设您将使用它,它已经被添加,您可以自行删除它,即个案基础。
有时,如果不需要它,删除它比在需要时找出命名空间和类型要容易得多:)
More info regarding System.Text
【讨论】:
【参考方案2】:如果它没有被使用,它不应该出现在代码中。如果 Visual Studio 默认添加了它们,这归咎于微软只是试图让开发人员的事情变得简单,因为它认为这些是非常常见的命名空间,但根据您的操作,它们可能在许多类中都不需要,就像您所经历的那样。
【讨论】:
【参考方案3】:如果您不喜欢它,您可以随时创建自己的项目模板。见http://msdn.microsoft.com/en-us/library/tsyyf0yh(v=VS.80).aspx
【讨论】:
【参考方案4】:您应该只为您在代码中真正引用的命名空间添加using
。
这样源文件不会有巨大的“使用标头”和更少的命名空间冲突。
当您使用 Resharper 时,很容易遵循此规则。
【讨论】:
嗨,我只是问,因为我想知道。我们怎么会有命名空间冲突?难道我们没有命名空间来避免冲突吗?【参考方案5】:如果您不使用它,请不要包含命名空间。它只是自动包含在内,因为它是更常用的命名空间之一。如果我想使用正则表达式或字符串操作方法,我通常会使用它。但是如果你删除它并且没有编译器错误,将它排除在外是安全的。
【讨论】:
以上是关于(关于最佳实践的问题)为啥默认情况下“使用 System.Text”?的主要内容,如果未能解决你的问题,请参考以下文章
为啥Docker官方镜像不按照“最佳实践”的要求使用USER