【发布时间】:2011-04-09 21:19:43
【问题描述】:
这是有原因的吗?我问是因为如果您需要使用大量空字符,那么您会遇到与使用大量空字符串时相同的情况。
编辑:这种用法的原因是:
myString.Replace ('c', '')
所以从 myString 中删除所有 'c' 的实例。
【问题讨论】:
-
是的,我用这个词是因为没有更好的词。即使用 String.Empty 而不是“”的推荐方式。
-
如果您担心有时会意外输入错误的 '',为什么不按照
RemoveAll(this string s, params char[] toRemove)的方式简单地将功能包装在扩展方法中?意图将被清楚地传达,您不会冒任何错误输入的风险。 -
@Henk - 我使用 string.Empty 的唯一原因是因为我发现 Empty 提供的 null 对象比空引号更能表达意图。空引号可能是由合并问题或错误的想法引起的,也可能是该代码的实际意图,而 Empty 明确告诉我开发人员打算让该字符串没有数据。
-
"" 和 string.Empty 是有区别的。并不是说真的有人在乎,而是 "" 创建了一个对象,而 string.Empty 使用了一个已经创建的对象。但同样,它是如此之小,只有在特殊情况下才会有所不同
-
@marcelo-ferrazm,关于
""创建一个对象:不,它没有。
标签: c# .net string char base-class-library