以下是错的
public double? Progress { get; set; }
Progress = null; // works
Progress = 1; // works
Progress = (1 == 2) ? 0.0 : null; // fails
Run Code Online (Sandbox Code Playgroud)
无法确定条件表达式的类型,因为"double"和"<null>"之间没有隐式转换
Øyv*_*hen 28
使用?:运算符时,它必须解析为单个类型或具有它们之间隐式转换的类型.在您的情况下,它将返回一个double或null,并且double没有隐式转换null.
你会看到的
Progress = (1 == 2) ? (double?)0.0 : null;
Run Code Online (Sandbox Code Playgroud)
做工精细,因为是之间的隐式转换nullable double和null
| 归档时间: |
|
| 查看次数: |
19807 次 |
| 最近记录: |