养成string置空良好习惯,避免引发DBNull异常

先来一段代码:

string str = null;
Console.WriteLine(str);

这是许多人定义空字符串的习惯方法,甚至包括在给TextBox的Text属性赋值时也用的上面这种赋值null导致空引用的方式。

尽管在大多数时候,通过string str = null这样的赋值方式,可以实现获得空字符串的等效结果。但是,这样的做法是很不严谨的,在语义上也是不准确的,特别是在大量的数据库应用中,极易引发DBNull的异常和漏洞。

今天,在Visual Studio 2010强大到已经可以为整个数据库建立实体模型映射的时候,DBNull的陷阱却依然和当初只有类型化DataSet可用的时候一样,依旧是困扰着我们的一大问题。尤以string类型的变量被习惯性地置为null占多。我们经常会在不经意间,由于置空的string引用而触发DBNull相关的异常。

我的建议是,多采用下面的方式去生成空字符串、判断是否空字符串。.NET Framework为string提供这些属性和方法,并不是没有意义的摆设。null与string.Empty并不同!

string str = string.Empty;
string.IsNullOrEmpty(str);  
原文地址:https://www.cnblogs.com/Abbey/p/2103590.html