Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Stopwatch.Restart() से टाइमर रीसेट करना


C# में Stopwatch.Restart() मेथड स्टॉपवॉच को शून्य (शुरुआत) पर रीसेट करता है और तुरंत फिर से मापना शुरू करता है। यह Stop() फिर Reset() फिर Start() कॉल करने के बराबर है, लेकिन अधिक कुशल है।

उदाहरण

using System;
using System.Threading;
using System.Diagnostics;

public class Demo
{
    public static void Main()
    {
        // स्टॉपवॉच शुरू करें
        Stopwatch sw = Stopwatch.StartNew();
        
        // कुछ काम का अनुकरण (500ms सोएं)
        Thread.Sleep(500);
        
        Console.WriteLine($"पहला माप: {sw.ElapsedMilliseconds} ms");
        
        // Restart() - टाइमर को शून्य पर रीसेट करें और फिर से शुरू करें
        sw.Restart();
        
        // फिर से कुछ काम
        Thread.Sleep(500);
        
        Console.WriteLine($"Restart के बाद दूसरा माप: {sw.ElapsedMilliseconds} ms");
        Console.WriteLine($"कुल बीता समय (Restart के बाद): {sw.Elapsed}");
    }
}

आउटपुट

पहला माप: 500 ms
Restart के बाद दूसरा माप: 500 ms
कुल बीता समय (Restart के बाद): 00:00:00.5004937

Restart() बनाम अन्य मेथड्स

मेथडव्यवहार
Start()रुके हुए स्टॉपवॉच को जारी रखता है (समय जारी रहता है)
Stop()माप रोकता है (समय रुक जाता है)
Reset()समय शून्य पर सेट करता है, रुकी हुई अवस्था में रहता है
Restart()समय शून्य पर सेट करता है और तुरंत शुरू करता है

व्यावहारिक उपयोग: बेंचमार्किंग में लैप टाइम्स

using System;
using System.Diagnostics;

public class Demo
{
    public static void Main()
    {
        Stopwatch sw = Stopwatch.StartNew();
        
        // चरण 1
        DoWork(100);
        long phase1 = sw.ElapsedMilliseconds;
        Console.WriteLine($"चरण 1: {phase1} ms");
        
        // चरण 2 के लिए रीस्टार्ट
        sw.Restart();
        DoWork(200);
        long phase2 = sw.ElapsedMilliseconds;
        Console.WriteLine($"चरण 2: {phase2} ms");
        
        // चरण 3 के लिए रीस्टार्ट
        sw.Restart();
        DoWork(150);
        long phase3 = sw.ElapsedMilliseconds;
        Console.WriteLine($"चरण 3: {phase3} ms");
        
        Console.WriteLine($"\nकुल (अलग-अलग मापा): {phase1 + phase2 + phase3} ms");
    }
    
    static void DoWork(int ms)
    {
        // काम का अनुकरण
        System.Threading.Thread.Sleep(ms);
    }
}

आउटपुट

चरण 1: 100 ms
चरण 2: 200 ms
चरण 3: 150 ms

कुल (अलग-अलग मापा): 450 ms

Stopwatch के अन्य उपयोगी मेथड्स/प्रॉपर्टीज

Stopwatch sw = Stopwatch.StartNew();

// बीता समय प्राप्त करने के विभिन्न तरीके
Console.WriteLine(sw.Elapsed);           // TimeSpan (hh:mm:ss.fffffff)
Console.WriteLine(sw.ElapsedMilliseconds); // long (कुल मिलीसेकंड)
Console.WriteLine(sw.ElapsedTicks);       // long (कुल टिक्स)
Console.WriteLine(sw.IsRunning);          // bool

// रुकने के बाद फिर से शुरू करना (समय जारी रखना)
sw.Stop();
// ... कुछ समय बाद ...
sw.Start(); // समय वहीं से जारी रहता है जहां रुका था

महत्वपूर्ण बिंदु

  • Restart() System.Diagnostics.Stopwatch का इंस्टेंस मेथड है
  • यह आंतरिक टाइमर को शून्य पर रीसेट करता है और IsRunning को true सेट करता है
  • बेंचमार्किंग, प्रोफाइलिंग, अंतराल मापने के लिए आदर्श
  • DateTime.Now से अधिक सटीक (हाई-रिज़ॉल्यूशन टाइमर का उपयोग करता है)
  • थ्रेड-सुरक्षित नहीं है - बहु-थ्रेडेड परिदृश्यों में सावधानी से उपयोग करें
  1. JSlider में एक्सटेंट सेट करने के लिए Java प्रोग्राम JSlider में एक्सटेंट सेट करने के लिए Java प्रोग्राम

    स्लाइडर के एक्सटेंट को सेट करने के लिए, setExtent() मेथड का उपयोग करें। यह नॉब द्वारा कवर की गई रेंज का आकार सेट करता है - JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 70); slider.setMinorTickSpacing(5); slider.setMajorTickSpacing(20); slider.setPaintTicks(true); slider.setPaintLabels(t

  1. - पायथन प्रोग्राम: सेट से आइटम्स हटाना

    हम गणित के दृष्टिकोण से सेट शब्द से बहुत परिचित हैं क्योंकि हम सेट के बारे में जानते हैं। पायथन में सेट गणित में सेट के समकक्ष एक डेटा स्ट्रक्चर है। इसमें विभिन्न एलिमेंट्स हो सकते हैं; सेट में एलिमेंट्स का ऑर्डर अपरिभाषित होता है। आप सेट के एलिमेंट्स जोड़ और हटा सकते हैं, सेट के एलिमेंट्स पर इटरेट

  1. Android पर म्यूजिक स्लीप टाइमर कैसे सेट करें Android पर म्यूजिक स्लीप टाइमर कैसे सेट करें

    क्या आप सोने से पहले अपने फोन या टैबलेट पर मीडिया सुनने का आनंद लेते हैं? यदि हां, तो शायद आपको म्यूजिक स्लीप टाइमर का विचार पसंद आएगा। स्लीप टाइमर काउंटडाउन हैं जिन्हें आप सोने से पहले सेट कर सकते हैं। एक बार काउंटडाउन समाप्त हो जाने पर, यह आपके डिवाइस पर चल रहे ऑडियो को रोक देता है। लक्ष्य काउंटड