重构:用Constant String.Empty替换

时间:2011-10-17 13:36:12

标签: vb.net refactoring devexpress

我有以下代码行

Dim a As String = ""

并且重构建议将""替换为String.Empty

这是一种重组,但为什么呢?由于我是未来的新手,我应该更好地使用String.Empty

5 个答案:

答案 0 :(得分:2)

这主要是一个偏好问题。就个人而言,我发现String.Empty更清楚地显示了程序员的意图(例如,他没有意外地放置一个空字符串而不是一个空格)......这可能是“Refactor”建议的原因。但除此之外,它们完全是一回事。按照你认为合适的方式做。

答案 1 :(得分:0)

String.Empty字段的值是零长度字符串,“”。

在应用程序代码中,此字段最常用于分配以将字符串变量初始化为空字符串。要测试字符串的值是null还是String.Empty,请使用IsNullOrEmpty方法。

答案 2 :(得分:0)

这几乎是个人偏好的问题。我更喜欢尽可能使用常量,特别是如果它们已经由我正在使用的框架提供的话。我不会忘记在代码中消除“”的所有用法。 (特别是因为编译器会折叠字符串文字的所有重复,并且只保留其中一个用于运行时。)

答案 3 :(得分:0)

“”可能会创建一个新的String对象,而String.Empty则指的是预定义的(现有)对象。这是一个小小的挑剔,但这就是改造工具的作用:找到各种各样的问题,包括次要的挑剔。

答案 4 :(得分:0)

我总是反其道而且将字符串设置为null。实际上有一些情况需要你想要用“”表示你有一个字符串,但没有内容。通常你的意思是你有未建立的字符串。这就是我更喜欢null构造的原因。