मैं VS2008 .net 3.5 WinForms का उपयोग कर में निम्न कोड के लिए है:सी # में बाइट घटाव के लिए एक कास्ट क्यों आवश्यक है?
byte percent = 70;
byte zero = 0;
Bitmap copy = (Bitmap)image1.Clone();
...
Color oColor = copy.GetPixel(x, y);
byte oR = (byte)(oColor.R - percent < zero ? zero : oColor.R - percent);
जब मैं छोड़ "(byte)
" कोड की अंतिम पंक्ति बंद है, मैं यह कह रही है एक संकलक त्रुटि मिलती है "परोक्ष प्रकार कनवर्ट नहीं कर सकता 'int
' से 'byte
'। " अगर सब कुछ byte
और byte
एक पूर्णांक प्रकार है ... तो मुझे कास्ट करने की आवश्यकता क्यों है?
एरिक Lippert कहते हैं, संख्या "" मैं के रूप में बाइट्स की नहीं लगता कि "; मैं बिट्स कि संख्या, या वर्ण, या रंग या जो कुछ भी रूप में _interpreted_ किया जा सकता है के पैटर्न के रूप में उनमें से लगता है कि तुम होने के लिए जा रहे हैं। उन पर गणित करना और उन्हें संख्याओं के रूप में व्यवहार करना, फिर परिणाम को डेटा प्रकार में स्थानांतरित करना समझ में आता है जिसे अधिक संख्या में सामान्य रूप से व्याख्या किया जाता है। " Http://stackoverflow.com/questions/941584/byte-byte-int-why-c देखें। – Brian
तुम लोग यदि कोई डुप्लीकेट के रूप में इस के रूप में चिह्नित है एहसास किया है, भले ही यह कहा गया था * पहले * लिंक "पहले से ही एक जवाब यहाँ है"? –
नरक, अब यह भी "पहले पूछा गया" कहता है, भले ही अन्य प्रश्न तीन साल बाद पूछा गया था। –