我一直将字符串初始化为NULL,以为NULL表示缺少值,而“”或String.Empty是有效值。我最近看到了更多示例代码,其中String.Empty被视为默认值或不代表任何值。这让我感到奇怪,在c#中新添加的可为null的类型似乎使我们通过不使用NULL来表示“无值”来向字符串迈进。
您将什么用作默认的初始值设定项?为什么?
编辑:根据答案,我进一步思考
避免错误处理如果该值不应该为null,为什么
NULL
首先将其设置为?也许最好在错误发生的地方识别错误,而不是将错误掩盖在整个代码库中?避免空检查如果您厌倦了在代码中进行空检查,那么抽象空检查是否更好?也许包装(或扩展!)字符串方法以使其
NULL
安全?如果您经常使用String.Empty
并且null出现在系统中会NULL
怎样,您是否仍会开始添加检查呢?
我不禁要回到懒惰的观点。如果您使用''而不是null
在他的数据库中,那么任何DBA都会给您九种愚蠢的拍击方式。我认为相同的原则也适用于编程,应该有人来鼓吹那些使用String.Empty
而不是NULL
不代表任何价值的头脑。
相关问题