【发布时间】:2019-08-23 21:43:05
【问题描述】:
在 C# 中,dynamic 类型允许您在运行时更改变量的类型,例如:
dynamic x = "foo";
x = 42;
另一个例子:
dynamic x;
if (true)
x = "foo";
else
x = 42;
但是,当使用简写“?:”三元条件语句时,
dynamic x = (true) ? "foo" : 42;
不会编译:
错误 CS0173:无法确定条件表达式的类型,因为 'string' 和 'int' 之间没有隐式转换
为什么会这样?
【问题讨论】:
标签: c# if-statement