5
如果我有一個方法:編譯器如何理解Nullables?
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值,像
if (true && true)
和所有的*。價值已被更改爲正確的對象if語句基本上將soemthing?那麼所有endDate.Value都是現在的EndDates?
在運行時,編譯器是否將所有不爲空的參數都轉換爲空字符串?
最後一個問題的答案是「是」。把一個可以爲空的DateTime看作一個正常的DateTime,並粘貼一個布爾值來指示它的無效性。現在是否清楚編譯器如何處理將正常的DateTime轉換爲可爲空的DateTime? – 2015-02-09 03:43:33