C# не происходит операция

c# не происходит операция
Происходит ввод букв, цифр и чисел в textBox1, идет присвоение текста переменной Message. Потом string Massage переводиться в byte code2 . И в итоге на операции code = code2 ^ code; выдает ошибку, если в Message были написаны буквы, с числами ошибок нет. Что нужно сделать?

//Объявление переменных
string Message;
int zk, ok, code;
byte code2;

//Рандом ключей
Random rand = new Random();
zk = rand.Next(1, 255);
ok = rand.Next(1, 255);

//Перевод сообщения в символы
Message = textBox1.Text;
code2 = Convert.ToByte(Message);

//Образование переменной code
code = ok^zk;
code = code2 ^ code;

//Вывод ключей в форму
textBox3.Text= zk.ToString();
textBox2.Text = ok.ToString();
textBox4.Text = code.ToString();

  • Для тех кто на бронепоезде повторяю, C# язык со строгой типизацией, в C# тип char неявно можно привести только к типам ushort, int, uint, long, ulong, float, double, decimal. Измените свой byte на ushort и вам будет счастье!! ! Иначе жечь костёр)