2016-11-30 12 views
10

वहाँ किसी भी संभावना है कि यह बयान सही वापसी होगीDateTime.Now पुनर्प्राप्ति गति

DateTime.Now == DateTime.Now 

एक बहुत तेजी से मशीन इस बयान के लिए सच लौट सकते हैं, मैं कई मशीनों और इसके हमेशा गलत पर की कोशिश की है?

+0

मैंने इसे DotNetFiddle पर करने की कोशिश की और यह सच हो गया – Tuco

+0

@Tuco क्या आपने असली .NET एप्लिकेशन पर प्रयास किया है? – Yaman

+1

डॉटनेटफॉल वास्तविक चलाता है .NET – Tuco

उत्तर

18

हां।

इस संपत्ति के संकल्प प्रणाली घड़ी है, जो विंडोज पर लगभग 15 मिलीसेकंड इस तरह के एक पाश में के रूप में एक परिणाम systems.As, थोड़े समय के अंतराल में अब संपत्ति को कॉल दोहराया, है पर निर्भर करता है, एक ही मूल्य वापस कर सकता है।

स्रोत: https://msdn.microsoft.com/en-us/library/system.datetime.now(v=vs.110).aspx

8

मैं सिर्फ LINQPad में इस स्क्रिप्ट भाग गया:

Enumerable.Range(1, 1000).Select(i => DateTime.Now == DateTime.Now).ToList() 

पहला तत्व के बाद, सभी दूसरों सही हैं। मैं अनुमान लगा रहा हूं कि DateTime.Now पर कॉल के पहले जोड़े में कुछ विलंबता शामिल है, जो किसी दिए गए एप्लिकेशन में पहली बार चेक को झूठी बार लौटाने का कारण बनती है।

लेकिन हाँ, वह अभिव्यक्ति (और अक्सर करता है) सच हो सकती है।

संबंधित मुद्दे