是否有理由在 C# 中初始化字符串
本文关键字:初始化 字符串 有理由 是否 | 更新日期: 2023-09-27 18:17:38
可能的重复项:
String.Empty 和 "
有什么区别 在 C# 中,我应该使用字符串吗?空还是字符串。空还是"?
默认字符串初始化:NULL 还是空?
我想知道是否有兴趣初始化字符串?
String value1 = String.Empty;
编辑:我的问题更多是为什么我应该初始化字符串而不是在"或字符串之间进行选择。空
IMO,使用字符串。为空,因为它增加了代码的可读性。宪兵和 FxCop 等代码样式扫描程序会将"的使用标记为与最佳实践相反。
编辑:删除了有关内存使用情况的简介,这是不正确的。
假设问题的意思是"为什么要初始化字符串"而不是"哪种方法最适合初始化字符串"......
是的,最好初始化字符串以最大程度地减少代码中出现 null 引用异常的可能性。很容易创建一个代码路径,其中永远不会设置字符串,当您对该字符串调用方法时,它会出错。
考虑到空字符串和空字符串之间存在有意义的区别,我认为答案是"视情况而定"。如果您的代码对 null 值没有用处,并且您希望能够编写引用变量的代码,并假设该值为非 null,则初始化是有意义的。但在某些情况下,null 是有效且有用的,并且初始化没有意义。例如,如果字符串包含从某些测试设备接收的值,则null可能表示未收到任何值,而"表示已接收到某些内容,并且恰好是空字符串。