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

C# में TimeSpan.Zero से शून्य समय दर्शाना


C# में TimeSpan.Zero एक स्थैतिक (static) केवल-पढ़ने योग्य फील्ड है जो शून्य समय अवधि (00:00:00) को दर्शाता है। इसका उपयोग TimeSpan वेरिएबल को इनिशियलाइज़ करने या तुलना के लिए किया जाता है।

उदाहरण

using System;

public class Demo
{
    public static void Main()
    {
        // TimeSpan.Zero का उपयोग
        TimeSpan ts = TimeSpan.Zero;
        
        Console.WriteLine($"TimeSpan.Zero: {ts}");
        Console.WriteLine($"टिक्स: {ts.Ticks}");
        Console.WriteLine($"कुल मिलीसेकंड: {ts.TotalMilliseconds}");
        
        // तुलना के लिए उपयोग
        TimeSpan elapsed = TimeSpan.FromSeconds(45);
        
        if (elapsed > TimeSpan.Zero)
        {
            Console.WriteLine($"\n{elapsed} शून्य से बड़ा है");
        }
        
        // डिफॉल्ट मान के रूप में
        TimeSpan defaultTs = default; // TimeSpan.Zero के समान
        Console.WriteLine($"\ndefault(TimeSpan): {defaultTs}");
        Console.WriteLine($"default == TimeSpan.Zero: {defaultTs == TimeSpan.Zero}");
    }
}

आउटपुट

TimeSpan.Zero: 00:00:00
टिक्स: 0
कुल मिलीसेकंड: 0

00:00:45 शून्य से बड़ा है

default(TimeSpan): 00:00:00
default == TimeSpan.Zero: True

व्यावहारिक उपयोग के मामले

1. प्रारंभिककरण

TimeSpan total = TimeSpan.Zero;
foreach (var task in tasks)
{
    total += task.Duration;
}

2. शून्य जांच

if (timeout == TimeSpan.Zero)
{
    Console.WriteLine("कोई टाइमआउट नहीं सेट");
}
else
{
    Console.WriteLine($"टाइमआउट: {timeout}");
}

3. LINQ Aggregate के साथ सीड

var totalDuration = tasks
    .Select(t => t.Duration)
    .Aggregate(TimeSpan.Zero, (acc, ts) => acc + ts);

4. TimeSpan.MinValue और MaxValue के साथ तुलना

using System;

public class Demo
{
    public static void Main()
    {
        Console.WriteLine($"TimeSpan.MinValue: {TimeSpan.MinValue}");
        Console.WriteLine($"TimeSpan.Zero:     {TimeSpan.Zero}");
        Console.WriteLine($"TimeSpan.MaxValue: {TimeSpan.MaxValue}");
        
        // MinValue = -10675199.02:48:05.4775808
        // MaxValue = 10675199.02:48:05.4775807
    }
}

आउटपुट

TimeSpan.MinValue: -10675199.02:48:05.4775808
TimeSpan.Zero:     00:00:00
TimeSpan.MaxValue: 10675199.02:48:05.4775807

TimeSpan.Zero के विकल्प

एक्सप्रेशनपरिणामटिप्पणी
TimeSpan.Zero00:00:00सबसे स्पष्ट और पठनीय
default(TimeSpan)00:00:00जेनेरिक कोड के लिए उपयोगी
new TimeSpan()00:00:00पैरामीटरलेस कंस्ट्रक्टर
new TimeSpan(0)00:00:000 टिक्स
TimeSpan.FromTicks(0)00:00:00स्पष्ट

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

  • TimeSpan.Zero एक स्थैतिक फील्ड है, प्रॉपर्टी या मेथड नहीं
  • यह readonly है - संशोधित नहीं किया जा सकता
  • TimeSpan एक स्ट्रक्चर (struct) है, इसलिए default भी शून्य देता है
  • तुलना ऑपरेटर्स (==, !=, <, >) सीधे काम करते हैं
  • कॉन्फिगरेशन, डिफॉल्ट मान, प्रारंभिककरण के लिए आदर्श
  1. - C# में TimeSpan.Zero से शून्य समय दर्शाना

    C# में TimeSpan.Zero एक स्थैतिक (static) केवल-पढ़ने योग्य फील्ड है जो शून्य समय अवधि (00:00:00) को दर्शाता है। इसका उपयोग TimeSpan वेरिएबल को इनिशियलाइज़ करने या तुलना के लिए किया जाता है। उदाहरण TimeSpan.Zero) { Console.WriteLine($\n{elapsed} शून्य से बड़ा है); }

  1. - C# में TimeSpan.TicksPer* स्थिरांक

    C# में TimeSpan संरचना समय अवधि गणनाओं के लिए कई उपयोगी स्थैतिक (static) स्थिरांक (constants) प्रदान करती है जो प्रति दिन, घंटा, मिनट, सेकंड, और मिलीसेकंड टिक्स की संख्या दर्शाते हैं। एक टिक 100 नैनोसेकंड (0.1 माइक्रोसेकंड) के बराबर होता है। उपलब्ध स्थिरांक स्थिरांकमानविवरण TimeSpan.TicksPerDay86

  1. - C# में TimeSpan.From* मेथड्स का उपयोग

    C# में TimeSpan संरचना समय अवधि बनाने के लिए कई स्थैतिक फैक्टरी मेथड्स (From*) प्रदान करती है। ये मेथड्स विभिन्न समय इकाइयों (दिन, घंटे, मिनट, सेकंड, मिलीसेकंड, टिक्स) से TimeSpan ऑब्जेक्ट बनाते हैं। उपलब्ध From* मेथड्स मेथडपैरामीटरविवरण FromDays(double)दिन (भिन्नात्मक)दिनों से TimeSpan FromHours