我有以下代码行
Dim a As String = ""
并且重构建议将""
替换为String.Empty
这是一种重组,但为什么呢?由于我是未来的新手,我应该更好地使用String.Empty
?
答案 0 :(得分:2)
这主要是一个偏好问题。就个人而言,我发现String.Empty更清楚地显示了程序员的意图(例如,他没有意外地放置一个空字符串而不是一个空格)......这可能是“Refactor”建议的原因。但除此之外,它们完全是一回事。按照你认为合适的方式做。
答案 1 :(得分:0)
String.Empty字段的值是零长度字符串,“”。
在应用程序代码中,此字段最常用于分配以将字符串变量初始化为空字符串。要测试字符串的值是null还是String.Empty,请使用IsNullOrEmpty方法。
答案 2 :(得分:0)
这几乎是个人偏好的问题。我更喜欢尽可能使用常量,特别是如果它们已经由我正在使用的框架提供的话。我不会忘记在代码中消除“”的所有用法。 (特别是因为编译器会折叠字符串文字的所有重复,并且只保留其中一个用于运行时。)
答案 3 :(得分:0)
“”可能会创建一个新的String对象,而String.Empty则指的是预定义的(现有)对象。这是一个小小的挑剔,但这就是改造工具的作用:找到各种各样的问题,包括次要的挑剔。
答案 4 :(得分:0)
我总是反其道而且将字符串设置为null
。实际上有一些情况需要你想要用“”表示你有一个字符串,但没有内容。通常你的意思是你有未建立的字符串。这就是我更喜欢null
构造的原因。