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.Zero | 00:00:00 | सबसे स्पष्ट और पठनीय |
default(TimeSpan) | 00:00:00 | जेनेरिक कोड के लिए उपयोगी |
new TimeSpan() | 00:00:00 | पैरामीटरलेस कंस्ट्रक्टर |
new TimeSpan(0) | 00:00:00 | 0 टिक्स |
TimeSpan.FromTicks(0) | 00:00:00 | स्पष्ट |
महत्वपूर्ण बिंदु
TimeSpan.Zeroएक स्थैतिक फील्ड है, प्रॉपर्टी या मेथड नहीं- यह
readonlyहै - संशोधित नहीं किया जा सकता TimeSpanएक स्ट्रक्चर (struct) है, इसलिएdefaultभी शून्य देता है- तुलना ऑपरेटर्स (
==,!=,<,>) सीधे काम करते हैं - कॉन्फिगरेशन, डिफॉल्ट मान, प्रारंभिककरण के लिए आदर्श