में एक्सओआर-आईएनजी स्ट्रिंग्स ने हाल ही में सी # के साथ खेलना शुरू किया, और मैं समझने की कोशिश कर रहा हूं कि निम्नलिखित कोड संकलित क्यों नहीं होता है। त्रुटि टिप्पणी के साथ लाइन पर, मुझे मिलता है:सी #
अंतर्निहित रूप से 'int' को 'char' में परिवर्तित नहीं कर सकता। एक स्पष्ट रूपांतरण बाहर निकलता है (यदि आप एक डाली याद कर रहे हैं?)
मैं दो तार के साथ एक सरल XOR आपरेशन करने के लिए कोशिश कर रहा हूँ।
public string calcXor (string a, string b)
{
char[] charAArray = a.ToCharArray();
char[] charBArray = b.ToCharArray();
char[] result = new char[6];
int len = 0;
// Set length to be the length of the shorter string
if (a.Length > b.Length)
len = b.Length - 1;
else
len = a.Length - 1;
for (int i = 0; i < len; i++) {
result[i] = charAArray[i]^charBArray[i]; // Error here
}
return new string (result);
}
यदि आपकी स्ट्रिंग ASCII है, तो इसे 'परिणाम [i] = (char) ((लघु) charAArray [i]^(लघु) charBArray [i]); ' – ebattulga
बिटवाई ऑपरेटरों केवल ऑपरेटरों के रूप में संख्याएं लेते हैं। क्या आपकी स्ट्रिंग संख्यात्मक अंकों की श्रृंखला है? या आप एएससीआईआई मूल्यों के आधार पर इस ऑपरेशन को करने की कोशिश कर रहे हैं? – JohnFx
धन्यवाद, मैं भूल गया कि xor bitwise ऑपरेटर है इसलिए यह 1 और 0 लेता है, यही वजह है कि यह int रूपांतरण के बारे में शिकायत करता है। –