2015-12-04 1 views
15

सी # में मैं युगल को (float) या Convert.ToSingle() द्वारा फ़्लैट्स में फ़्लोट कर सकता हूं।कास्ट या कन्वर्ट द्वारा फ़्लोट करने के लिए डबल कनवर्ट करें। ToSingle()?

double x = 3.141592653589793238463; 
float a = (float)x; 
float b = Convert.ToSingle(x); 

a और b बराबर हो जाते हैं।

क्या दोनों तकनीकों के बीच कोई अंतर है? मुझे कौन सा पसंद करना चाहिए और क्यों?

उत्तर

22

.NET reference source से:

public static float ToSingle(double value) 
{ 
    return (float)value; 
} 

तो, आपका जवाब है कि वे बिल्कुल एक जैसे हैं, हुड के नीचे है।

दोनों के बीच कोई प्राथमिकता सख्ती से व्यक्तिगत शैली पसंद है। निजी तौर पर, मैं हमेशा कास्ट का उपयोग करता हूं क्योंकि यह छोटा होता है और यह मेरे लिए अधिक मूर्खतापूर्ण लगता है।

+1

चूंकि ToSingle का उपयोग करने के लिए कोई कारण नहीं लगता है, यह व्यक्तिगत पसंद नहीं है बल्कि एक कास्ट का उपयोग करने के लिए निष्पक्ष रूप से बेहतर है। – usr

+3

'कन्वर्ट' क्लास .NET Framework के विभिन्न मूल प्रकारों के बीच कनवर्ट करने का भाषा-तटस्थ तरीका है। .NET पर चलने वाली सभी भाषाओं में वास्तव में सी # जैसे कास्ट ऑपरेटर नहीं होते हैं। उदाहरण के लिए: वीबी.नेट में आपके पास सीटीपीई(), सीडीबीएल(), डायरेक्टकास्ट() और निहित रूपांतरण है, जिनमें से कोई भी सी # में कास्ट ऑपरेटर के रूप में सटीक समान अर्थशास्त्र नहीं है। –

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