我有一些代码是Caesar cypher的开头,它使用char的ASCII值然后添加到该值来移动它。
目前我已将其转换回字符串以将移位的ASCII值打印到TextBox3。但我需要转换'结果'返回字符以显示加密的字符串。这就是我正在努力的目标。
private void button1_Click(object sender, EventArgs e)
{
string input = textBox1.Text;
int shift = int.Parse(textBox2.Text);
foreach(char c in input)
{
int inputInt = Convert.ToInt32(c);
int result = shift + inputInt;
string output = Convert.ToString(result);
textBox3.Text += output;
}
}
答案 0 :(得分:0)
string input = textBox1.Text;
int shift = int.Parse(textBox2.Text);
textBox3.Text=string.Join("", input.Select(charr => (char)(((int)charr) + shift))
);
答案 1 :(得分:-1)
这应该有效:
private void button1_Click(object sender, EventArgs e)
{
string input = textBox1.Text;
int shift = int.Parse(textBox2.Text);
foreach(char c in input)
{
int inputInt = (int)c;
int result = shift + inputInt;
// result > 255?
textBox3.Text += (char)result;
}
}