herhangi biri, bu ifade doğrudur iade edeceğini şansDateTime.Now alma hızı
DateTime.Now == DateTime.Now
çok hızlı bir makine Birkaç makineleri ve her zaman false denedi, bu açıklama için gerçek dönebilir var mı?
herhangi biri, bu ifade doğrudur iade edeceğini şansDateTime.Now alma hızı
DateTime.Now == DateTime.Now
çok hızlı bir makine Birkaç makineleri ve her zaman false denedi, bu açıklama için gerçek dönebilir var mı?
Evet. Bu tesisin
çözünürlük, Windows üzerinde yaklaşık 15 milisaniye böyle bir döngü gibi, bir sonuç systems.As kısa zaman aralığında Şimdi özelliğine çağrıları tekrarladı olan sistem zamanlayıcı bağlıdır aynı değeri döndürebilir.
kaynak: https://msdn.microsoft.com/en-us/library/system.datetime.now(v=vs.110).aspx
Sadece LINQPad Bu komut dosyasını ran:
Enumerable.Range(1, 1000).Select(i => DateTime.Now == DateTime.Now).ToList()
ilk öğe sonra, tüm diğer doğrudur. Tahmin ettiğim ilk birkaç çağrıda DateTime.Now
numaralı çağrıların yer aldığı bir gecikme var. Bu da, belirli bir uygulamada ilk kez çalıştırdığınızın yanlış yapılmasına neden oluyor.
Ama evet, bu ifade doğru (ve genellikle) döndürülebilir.
Bunu DotNetFiddle üzerinde denedim ve doğru olarak döndürülüyor – Tuco
@Tuco Gerçek .NET uygulamasında denediniz mi? – Yaman
DotNetFiddle gerçek .NET – Tuco