为什么“using System.Text”默认存在?

14
每次我创建一个类时,我看到默认添加了 using System.Text (以及其他一些 using)。但是过一段时间后,我就会将其删除,因为根据 ReSharper 的提示,它没有被使用。
我是否忽略了最佳实践?您是否经常使用该命名空间?在什么情况下使用?
肯定有某种原因导致该命名空间被默认引用。
谢谢!

7
StringBuilder 是一个很重要的工具。 - Hans Passant
5个回答

13

System.Text 命名空间包含类、抽象基类和辅助类。例如,如果你想要利用 StringBuilder、Decoder、Encoder 等,则需要使用这些类。

上述的类在 .net 中大多数情况下都扮演着重要角色,但不一定要在代码中使用它们。只有在需要时才会用到。重要的是要知道何时需要使用该命名空间。

这个命名空间默认已经添加在 Visual Studio 中,方便开发者使用。同理,System.Linq 命名空间也是如此,不过并非每次都需要使用,只是为了方便而已。开发者可以根据具体情况自行删除。

如果不需要的话,删除它可能比查找命名空间和类型更容易 :)

更多关于 System.Text 的信息


2
如果没有使用到的话,就不应该出现在代码中。如果Visual Studio默认添加了它们,那么这可以归结为微软试图让开发者更加便利,因为它认为这些是非常常见的命名空间,但根据您的实际情况,在许多类中可能并不需要它们,就像您所经历的一样。

2

1

在代码中,只应为那些你真正引用的命名空间添加using

这样源文件就不会有一个巨大的“using头”,也会减少命名空间冲突。

由于你正在使用Resharper,遵循这个规则非常容易。


嗨,我只是想问一下。我们如何出现命名空间冲突?难道不是为了避免冲突而使用命名空间吗? - modest and cute girl

1

如果你不使用它,就不要包含这个命名空间。它只是自动包含在内,因为它是常用的一种命名空间之一。通常我会在想要使用正则表达式或字符串操作方法时使用它。但是如果你删除它并且没有编译器错误,那么可以安全地将其省略


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接