如果我有办法:
protected int CalculateActualDuration(DateTime? startDate, DateTime? endDate) {
if (startDate.HasValue && endDate.HasValue) {
return Math.Abs((int)(endDate.Value.Subtract(startDate.Value).TotalMinutes));
}
else {
return 0;
}
}我可以通过传入两个DateTime来调用该方法?和一个DateTime。那么编译器是如何理解这种区别的呢?
这是否意味着如果我传入一个DateTime值,if语句本质上将类似于
if (true && true)所有的*.value都被更改为适当的对象了?所以所有的endDate.Value现在都是EndDates了?
编译器是否在运行时将所有非Nullables的参数转换为Nullables?
https://stackoverflow.com/questions/28401384
复制相似问题