2008-12-02 14 views

उत्तर

1

सीएलआई में, दशमलव एक मूल प्रकार नहीं है जैसे Int32, स्ट्रिंग, और अन्य हैं। मैं अनुमान लगा रहा हूं कि सी # उपयोग तुलना ऑपरेटरों को लागू करने के लिए दृश्यों के पीछे तुलना करें।

इसके अलावा, आप एक तरह से नियमित करने के लिए एक पैरामीटर के रूप तुलना पारित कर सकते हैं एक प्रतिनिधि बनाने, तरह अंदर विधि-नेस्टिंग स्तरों कम करने के बिना।

यह मेरे सिर के ऊपर से कुछ चीजें हैं।

Comparison<decimal> foo = decimal.Compare; 

यह चीजें हैं जो मनमाने ढंग से तुलना प्रतिनिधियों लेने में पारित करने के लिए आसान है:

+0

नहीं, सी # ऑपरेटर ओवरलोड का उपयोग करेगा - यही वह है जो वे वहां हैं। यदि आप पास करते हैं तो पैरामीटर के रूप में तुलना करें * यह * एक प्रतिनिधि बना रहा है - लेकिन आप सही हैं कि आपको खुद को प्रतिनिधि कार्यान्वयन लिखने की आवश्यकता नहीं है। –

+0

तो यह बूल [mscorlib] सिस्टम का उपयोग करता है। डेसिमल :: op_LessThan (वैल्यूटाइप [mscorlib] सिस्टम। डेसिमल, वैल्यूटाइप [mscorlib] सिस्टम। डीसीमल), आदि? ठीक है, मैं देखता हूं कि आपका क्या मतलब है। –

5
एक बात यह है कि यह वास्तव में आसान एक Comparison<decimal> प्रतिनिधि उदाहरण के निर्माण के लिए बनाता है के लिए

यदि आप ऐसी भाषा का उपयोग कर रहे हैं जो अधिभारित ऑपरेटरों का समर्थन नहीं करता है तो यह भी उपयोगी हो सकता है। यही कारण है कि यह अनुशंसा की जाती है कि आप कार्यक्षमता का खुलासा न करें जो ऑपरेटरों द्वारा समर्थित केवल है।

4

दशमलव। कॉम्पैयर एक हस्ताक्षरित संख्या देता है जो दो दशमलव मानों के सापेक्ष मूल्यों को इंगित करता है। इसका एक सामान्य उपयोग सॉर्टिंग के लिए है। इस तरह के>,> =, < रूप

ऑपरेटर्स एक बूलियन लौट आते हैं।

तो वे अंतर परिदृश्यों में उपयोग किए जाते हैं।

संबंधित मुद्दे