Ben bir yöntemi varsa: bir DateTime hem de geçerek yöntemi çağırmak mümkün duyuyorumDerleyici Nullables'i nasıl anlıyor?
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;
}
}
? ve bir DateTime. Peki derleyici farkı nasıl anlıyor? Ben bir DateTime Değerindeki
if (true && true)
ve tüm * .value uygun nesneler olarak değiştirildi gibi deyimi esasen olacaksa soemthing geçirirseniz
anlamına mı geliyor? Yani tüm endDate.Value şimdi tüm EndDates?Derleyici, çalışma zamanı boyunca Nullables olmayan tüm parametreleri Nullables'e döküyor mu?
Son sorunuzun cevabı "evet". Null bir DateTime'ı, normal bir DateTime olarak düşünerek, onun bir boşluğunu gösteren bir Boolean ile düşünün. Şimdi derleyicinin normal bir DateTime'ı null bir DateTime'a dönüştürmeyi nasıl başarabileceği açık mı? –