Why is there no Char.Empty like String.Empty?
有什么原因吗?我问是因为如果你需要使用大量的空字符,那么当你使用大量的空字符串时,你会遇到同样的情况。
编辑:此用法的原因是:
1
| myString.Replace ('c', '') |
所以从mystring中删除所有'c'的实例。
- 是的,我用这个词是因为没有更好的词。即使用string.empty而不是""的建议方法。
- 谢谢,你知道为什么不再推荐吗?是因为编译器帮你做的吗?
- 如果您有时担心不小心输入了"",为什么不简单地将功能包装在扩展方法中,沿着RemoveAll(this string s, params char[] toRemove)行?你的意图将被清楚地传达出来,你不会冒着输入错误的风险。
- @我使用string.empty的唯一原因是我发现empty提供的空对象比空引号更能表达意图。空引号可能是由合并问题或错误的想法引起的,也可能是代码的实际意图,而空引号则明确地告诉我,开发人员希望该字符串不具有数据。
- "和string.empty之间有区别。不是所有人都关心的,而是"创建一个对象,而string.empty使用了已经创建的对象"。但是,它又很小,只有在特殊情况下才会产生差异。
- 我要注意的是,String.Empty.ToCharArray().Length == 0。
- @马塞洛·费拉兹姆(MarceloFerrazm),关于""创造了一个物体:不,它没有。
没有空字符这样的东西。最接近的是'\0',即unicode的"空"字符。既然您可以将它嵌入到字符串文本中,或者非常容易地单独表示它,那么为什么您要为它指定一个单独的字段呢?同样,"很容易混淆""和"""的论点不适用于'\0'。
如果你能举个例子说明你想在哪里使用它,以及为什么你认为它会更好,那可能会有帮助…