सवाल सी # टाइम्सपैन मिलीसेकंड बनाम कुल मिलिसेकंड्स


नीचे दिए गए उदाहरण में, मिलीसेकंड संपत्ति 0 क्यों लौटाती है लेकिन कुल मिलिसेकंड संपत्ति 5000 लौटाती है

// 5 seconds
TimeSpan intervalTimespan = new TimeSpan(0, 0, 5);

// returns 0
intervalTimespan.Milliseconds;

// returns 5000.0
intervalTimespan.TotalMilliseconds

44
2018-03-30 09:18


मूल


@ ओलिवर जो मेरा विचार भी था, लेकिन मुझे नहीं लगता कि एसएफ पर मौजूद समुदाय की भावना फिट बैठती है - David Kemp
इस बात को देखते हुए कि जब मैं विजुअल स्टूडियो को मदद लोड करने के लिए लेता हूं, तो सवाल के जवाब में मुझे एसओ के साथ रहना होगा। - AJM
@ एजेएम: आप वास्तव में अज्ञानी हैं। एमएसडीएन भी ऑनलाइन उपलब्ध है! - Daniel Hilgarth
हाँ जाहिर है, लेकिन दस्तावेज अंतर पर स्पष्ट नहीं है, इसलिए सवाल है। साथ ही, संदेह होने पर अन्य डेवलपर्स के आश्वासन को प्राप्त करना अच्छा होता है। - AJM
@ एजेएम: हाँ, मदद शुरू करना बहुत लंबा लगता है। तो मैं आमतौर पर उपयोग करते हैं Google पर एमएसडीएन खोज और मेरे ओपेरा ब्राउज़र में एक खोज इंजन जोड़ें। तो मैं बस प्रवेश कर सकते हैं msdn keywords और एमएसडीएन से सभी परिणाम प्राप्त करें। - Oliver


जवाब:


सरल:

  • मिलीसेकंड शेष मिलीसेकंड हैं, जो पूरे सेकेंड का निर्माण नहीं करते हैं।
  • कुल मिलिसेकंड्स मिलीसेकंड के रूप में व्यक्त की गई अवधि की पूरी अवधि है।

52
2018-03-30 09:20





इसलिये Milliseconds Milliseconds भाग देता है, और TotalMilliseconds द्वारा कुल मिलीसेकंड का प्रतिनिधित्व करता है Timespan

उदाहरण: 0: 00: 05.047

मिलीसेकंड: 47

कुल मिलीसेकंड: 5047


56
2018-03-30 09:20





यह hapens क्योंकि intervalTimespan.Milliseconds; timpan के मिलीसेकंद घटक देता है। आपके टाइमपैन कन्स्ट्रक्टर में आपके पास केवल घंटे का मिनट और दूसरा घटक होता है, यही कारण है कि परिणाम 0 है। अंतराल के समय mmMilliseconds - यह आपको समय के कुल मिलीसेकंड प्राप्त करता है। उदाहरण के लिए:

// 5 miliseconds
TimeSpan intervalTimespan = new TimeSpan(0, 0,0,0,5);

// returns 5
intervalTimespan.Milliseconds;

// returns 5
intervalTimespan.TotalMilliseconds

2
2018-03-30 09:24





यह स्पष्ट है, Miliseconds आपके मिलिसेकंड्स हिस्से को वापस लौटाता है TimeSpan, जबकि TotalMiliseconds गणना करता है कि समय में कितने मिलीसेकंड दर्शाए जाते हैं TimeSpan

आपके मामले में, पहले रिटर्न 0 क्योंकि आपके पास बिल्कुल 5 सेकंड हैं, दूसरा रिटर्न 5000 क्योंकि 5 एस == 5000ms


1
2018-03-30 09:22





टाइमस्पैन में अन्य ओवरलोड हैं

TimeSpan(hour, minute, seconds)
TimeSpan(days, hour, minute, seconds)
TimeSpan(days, hour, minute, seconds, milliseconds)

मिलीसेकंड संपत्ति वास्तविक मिलीसेकंड मूल्य वापस कर देगी

कुल मिलिसेकंड्स रिटर्नएसएस कुल मिलीसेकंड दिन, घंटे, मिनट और सेकंड सहित


1
2018-03-30 09:38





एक महत्वपूर्ण बात यह है कि अन्य चीजों का उल्लेख नहीं है, यह है कि (दस्तावेज़ों के अनुसार):

Milliseconds संपत्ति पूरे मिलीसेकंड का प्रतिनिधित्व करती है, जबकि TotalMilliseconds संपत्ति का प्रतिनिधित्व करता है पूरे और fractional मिलीसेकेंड।

यह टिप्पणी से भी कटौती योग्य है TotalMilliseconds:

यह संपत्ति इस उदाहरण के मूल्य को टिक्स से मिलीसेकंड में परिवर्तित करती है।

इसका एक बड़ा प्रभाव है, आईएमओ, क्योंकि यदि आप चाहते हैं सबसे सटीक प्रतिनिधित्व सेकंड या मिलीसेकंड में, आपको उपयोग करना होगा TotalSeconds या TotalMilliseconds गुण, दोनों प्रकार के हैं double


0
2018-06-29 13:41