olan bazı örnek kod şudur: DateTime
yanaBu neden İşte geçerli bir karşılaştırma
static DateTime time;
if (time == null)
{
/* do something */
}
null olamaz, neden bu kod derler?
Düzenleme: sorun bu kod her zaman false dönecektir değil sadece budur, ama neden boş böyle bir karşılaştırma izin verilir asla DateTime
gibi bir şey. time
null olmayan bir değer tiptedir, ancak
Bunun nedeni, "DateTime" ile "DateTime" arasında örtük bir dönüşüm olduğu için inanıyorum. Ancak, bu dönüşüm tutarlı olarak kontrol edilmez ... –
(Ya da en azından tutarlı bir şekilde kontrol edilmemişti ... Eminim ki buralarda bazı gariplikler vardı, ama onları Roslyn ile üretemiyorum.) –