आप उपयोग में आसानी चाहते हैं:
// Could use DateTime.Now, but we don't care about time zones - just elapsed time
// Also, UtcNow has slightly better performance
var startTime = DateTime.UtcNow;
while(DateTime.UtcNow - startTime < TimeSpan.FromMinutes(10))
{
// Execute your loop here...
}
: - आप मजबूत सटीकता की आवश्यकताओं की जरूरत नहीं हैहै (सच मिलीसेकंड स्तर सटीकता इस तरह प्रति सेकंड वीडियो गेम, या इसी तरह वास्तविक समय सिमुलेशन एक उच्च फ्रेम लेखन के रूप में), तो आप बस
System.DateTime
संरचना का उपयोग कर सकते
TimeSpan.FromMinutes
बदले समय की जो कुछ अवधि के लिए आप की आवश्यकता होती है, सेकंड, मिनट, आदि
, एक वेब सेवा की तरह कुछ बुला समय की एक छोटी राशि के लिए उपयोगकर्ता के लिए कुछ प्रदर्शित करने, या जाँच डिस्क पर फ़ाइलों के मामले में होने की , मैं इसे विशेष रूप से उपयोग करता हूं।
आप उच्च सटीकता चाहते हैं:
Stopwatch
वर्ग के लिए देखो, और Elapsed
सदस्य की जाँच करें। इसका उपयोग करना थोड़ा कठिन है, क्योंकि आपको इसे शुरू करना है, और it has some bugs which will cause it to sometimes go negative, लेकिन यदि आपको वास्तविक मिलीसेकंड-स्तर सटीकता की आवश्यकता है तो यह उपयोगी है।
इसका इस्तेमाल करने के लिए:
var stopwatch = new Stopwatch();
stopwatch.Start();
while(stopwatch.Elapsed < TimeSpan.FromSeconds(5))
{
// Execute your loop here...
}
स्रोत
2011-05-10 05:25:47
'DateTime.Now' धीमी गति से (पर 1000ns के बारे में है मेरी मशीन)। आपको 'डेटटाइम.यूटीसीएनओ' का उपयोग करना चाहिए क्योंकि यह टाइमज़ोन रूपांतरण करने के कारण लगभग 100 गुना तेज है। – Gabe
@Gabe: अच्छी जानकारी। मुझे कुछ सिखाने के लिए धन्यवाद :) जवाब संपादित करना ... –