変数「c」に割り当てられたユーザー入力整数の束があり、122 を超える値から減算しようとしています。さまざまなループを試しましたが、通常、機能しないか、90 を奪ってしまいます。それらすべてから。では、122 を超える数から 90 を正確に取り除くにはどうすればよいでしょうか。
(これはシーザー シフト暗号化プログラム用で、122 は ASCII の小文字の 'z' です)
List<int> valerie = new List<int>();
for (int i = 32; i < 122; i++)
{
valerie.Add(i);
}
Console.WriteLine("E - Encrypt");
Console.WriteLine("D - Decrypt");
string choice = Console.ReadLine();
switch (choice.ToUpper())
{
case "E":
Console.WriteLine("Enter Caesar shift.");
string shift = Console.ReadLine();
int offset = int.Parse(shift);
Console.WriteLine("Enter phrase.");
string phrase = Console.ReadLine();
byte[] asciiBytes = Encoding.ASCII.GetBytes(phrase);
foreach(byte b in asciiBytes)
{
int a = Convert.ToInt32(b);
int c = a + offset;
Console.WriteLine(c);
char d = (char)c;
Console.WriteLine(d);
}