मुझे पता है कि अगर मुक्केबाजी में सी # परिणाम में सभी रूपांतरणों।
नहीं। केवल मुक्केबाजी रूपांतरण मुक्केबाजी में परिणाम उत्सुक हूँ, इसलिए नाम" मुक्केबाजी रूपांतरण "। मुक्केबाजी रूपांतरण सभी अंतर्निहित हैं मूल्य प्रकारों से संदर्भ प्रकारों में रूपांतरणों में - या तो उस वर्ग के लिए जो मान प्रकार से प्राप्त होता है, या जो इंटरफ़ेस लागू होता है। (या इंटरफ़ेस के साथ संगत इंटरफ़ेस में यह एक कॉन्वेंट या contravariant संदर्भ रूपांतरण के माध्यम से लागू होता है।)
सभी कनवर्टर हैं सायन एक महंगा ऑपरेशन?
नहीं। पहचान रूपांतरण शून्य लागत है क्योंकि संकलक उन्हें पूरी तरह से बढ़ा सकता है।
निहित और स्पष्ट संदर्भ रूपांतरणों की लागत क्या हैं?
लागू संदर्भ रूपांतरण शून्य लागत हैं। कंपाइलर उन्हें पूरी तरह से elide कर सकते हैं। यही है, जिराफ से अपने मूल प्रकार के पशु, या जिराफ से इसके कार्यान्वित इंटरफ़ेस प्रकार IAmatallMammal में परिवर्तित, निःशुल्क हैं।
स्पष्ट संदर्भ रूपांतरण में एक रनटाइम चेक शामिल है यह सत्यापित करने के लिए कि वास्तव में संदर्भ वांछित प्रकार की वस्तु का संदर्भ देता है।
चाहे वह रनटाइम चेक "महंगा" है या नहीं, आपके बजट पर निर्भर करता है।
क्या लागत ठीक से मापा जा सकता है?
निश्चित रूप से। तय करें कि कौन सा संसाधन आपके लिए प्रासंगिक है - समय, कहें - और फिर स्टॉपवॉच के साथ समय की अपनी खपत को ध्यान से मापें।
एक सवाल आप शायद नहीं पूछा लेकिन होना चाहिए:
सबसे महंगी रूपांतरण क्या हैं?
उपयोगकर्ता परिभाषित रूपांतरण विधि कॉल के लिए सिंटैक्टिक चीनी से अधिक कुछ नहीं हैं; वह विधि किसी भी विधि की तरह मनमाने ढंग से लंबी लग सकती है।
डायनामिक रूपांतरण रनटाइम पर फिर से कंपाइलर शुरू करते हैं; संकलक एक प्रकार का विश्लेषण करने के लिए मनमाने ढंग से लंबा ले सकता है, इस पर निर्भर करता है कि आप जिस विश्लेषण समस्या को फेंकने के लिए चुनते हैं, उस पर निर्भर करता है।
एक संदर्भ प्रकार से दूसरे में कास्टिंग करते समय कोई मुक्केबाजी शामिल नहीं है। – BrokenGlass
क्या यह उचित माप योग्य है? क्या इससे बचा जाना चाहिए? –
जबकि एक संदर्भ प्रकार को दूसरे पर कास्टिंग करते समय मुक्केबाजी शामिल नहीं है, रूपांतरण हो सकता है। एक संदर्भ प्रकार को किसी अन्य असंबंधित संदर्भ प्रकार में कनवर्ट करना महंगा हो सकता है। –