当将空引用分配给Object类型但是没有空字符串时,ToUpper()正在工作。 请澄清它的基本原理:
Object obj = null;
string str1 = Convert.ToString(obj).ToUpper(); //No exception
string str2 = null;
string str3 = Convert.ToString(str2).ToUpper(); // Throws exception
答案 0 :(得分:4)
这是因为Convert.ToString(object)
在string.Empty
为object
时返回null
而Convert.ToString(string)
返回字符串不变(即:null
)。
您无法在.ToUpper()
上致电null
。