c# – 出于某种原因,不能将XOR运算符与两个char一起使用,有人知
发布时间:2020-12-16 00:04:35 所属栏目:百科 来源:网络整理
导读:是否有一些正式标准不允许人们在C#中使用具有两个字符的^或XOR函数? public char[] XORinput(char[] input,char SN) { int InputSize = input.Length; //initialize an output array char[] output = new char[InputSize]; for (int i = 0; i InputSize; i+
是否有一些正式标准不允许人们在C#中使用具有两个字符的^或XOR函数?
public char[] XORinput(char[] input,char SN) { int InputSize = input.Length; //initialize an output array char[] output = new char[InputSize]; for (int i = 0; i < InputSize; i++) { output[i] = input[i] ^ SN; } return output; } 无论出于何种原因,此代码都给我这个错误,错误1400无法将类型’int’隐式转换为’char’.存在显式转换(您是否错过了演员?) 这没有任何意义. 呼叫者: string num = "12345"; char SN = Convert.ToChar(num);//serial number string sCommand = ("Hellow"); char[] out = new char[sCommand.ToCharArray().Length]; out = calculator.XORinput(sCommand.ToCharArray(),SN); 解决方法
xor运算符(以及其他运算符)返回整数结果.因此对char进行单次转换就足够了.
output[i] = (char)(input[i] ^ SN); 在这种情况下,您不必进行强制转换,但在您的情况下效率较低: output[i] = input[i]; output[i] ^= SN; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |