我有这样的代码.
string b=null;
string a = Convert.ToString(b);
Run Code Online (Sandbox Code Playgroud)
参考:
但是当我将b转换为字符串时,我只得到空值而不是空字符串.但是几天前我也使用相同的convert.tostring()进行了空转换.在那它工作正常,但现在不工作.我在这里转动我的头,请帮助我为什么会发生这种情况?唯一的事情是我在3.5框架中工作但现在4.0.
Convert.ToString(string)将返回不变的字符串.根据文档,每个版本的框架都是如此:
你错了,调用Convert.ToString((string)null)曾经返回除null之外的任何东西.你可能在说什么Convert.ToString((object)null).这将返回空字符串.
string a = Convert.ToString((object)null);
string b = Convert.ToString((string)null);
// a now equals string.Empty, but b equals null.
Run Code Online (Sandbox Code Playgroud)
您可以b像我一样将字符串转换为对象,但我建议您使用null-coalescing运算符:
string a = b ?? string.Empty
Run Code Online (Sandbox Code Playgroud)