我一直将字符串初始化为NULL,认为NULL表示缺少值,“”或String.Empty是有效值。最近我看到了更多的代码示例,其中String.Empty被认为是默认值或没有值的代表。这让我感到奇怪,因为在c#中新增了可空类型,似乎我们正在通过不使用NULL来表示“无值”而倒退。
你使用什么作为默认初始化程序?为什么?
编辑:根据答案我进一步思考
避免错误处理 如果该值不应该为null,那么它为什么首先被设置为
NULL
?也许在发生错误的地方识别错误比遍布整个代码库更好?避免null检查 如果您厌倦了在代码中进行null检查,是否最好抽象出null检查?也许包装(或扩展!)字符串方法以使它们
NULL
安全会更好?如果您不断使用String.Empty
并且空值成功进入系统,那么您会开始添加NULL
检查吗?
我不能帮助但回到这种想法是懒惰的观点。任何DBA都会在他/她的数据库中使用''而不是null
时拍打你。我认为在编程中应该适用相同的原则,应该有人敲打那些使用String.Empty
而不是null
来表示没有值的人。
相关问题
String.Empty和“”之间有什么区别? 在表格列中表示无数据,使用null还是空字符串?