为什么编译器无法正确自动转换此表达式中的值?
var input = "Hello";
object x = string.IsNullOrEmpty(input) ? input : DBNull.Value;
//could try this too and get similar compile time error
object x2 = string.IsNullOrEmpty(input) ? 1 : input;
我知道 DBNull.Value 不能转换为字符串;但是,我很好奇为什么它不能合并成一个对象,因为结果只是存储一个引用。如果你把(object)
它放在 DBNull.Value 前面,它将编译并运行得很好。