c# – Convert.ToString返回string.empty而不是null
发布时间:2020-12-15 19:58:16 所属栏目:百科 来源:网络整理
导读:我发现了Convert.ToString的一个奇怪的行为,我想了解,为什么它表现得像这样. 看看下面的代码片段: string obj = null;var str = Convert.ToString(obj);Console.WriteLine(str); // CORRECT: returns null; 到目前为止一切都很好,但是: DBNull obj = DBNul
我发现了Convert.ToString的一个奇怪的行为,我想了解,为什么它表现得像这样.
看看下面的代码片段: string obj = null; var str = Convert.ToString(obj); Console.WriteLine(str); // CORRECT: returns null; 到目前为止一切都很好,但是: DBNull obj = DBNull.Value; var str = Convert.ToString(obj); Console.WriteLine(str); // ???: returns string.Empty ("") 和 object obj = null; var str = Convert.ToString(obj); Console.WriteLine(str); // ???: returns string.Empty ("") 它看起来像一个bug,因为当我转换为字符串并且输入为NULL时,结果应该是字符串的默认值,也是NULL. 解决方法
Convert.ToString有
a
String overload that does nothing:
因此定义了its
这可能有点令人惊讶,但首先没有理由在String表达式上使用Convert.ToString. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |