是否有一些正式标准不允许人们在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;
}
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,此代码都给我这个错误,错误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);
Run Code Online (Sandbox Code Playgroud)
错误不在于函数,而在于它的结果.
当你做input[i] ^ SN;结果是一个int,你"不能隐式地将类型'int'转换为'char'.
你可以这样投:
(char)(input[i] ^ SN);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4165 次 |
| 最近记录: |