C# Console.WriteLine正在打印与我输入的不同的值
所以我输入了这个密码C# Console.WriteLine正在打印与我输入的不同的值,c#,.net,C#,.net,所以我输入了这个密码 static void Main(string[] args) { int y = Console.Read(); Program program = new Program(); program.Prime(y); } public void Prime(int Value) { Console.WriteLine(Value); } 当我输入一个值时,打印出来的是我输入的+48。 所以如果我输入3,'Console.WriteLine
static void Main(string[] args)
{
int y = Console.Read();
Program program = new Program();
program.Prime(y);
}
public void Prime(int Value)
{
Console.WriteLine(Value);
}
当我输入一个值时,打印出来的是我输入的+48。
所以如果我输入3,'Console.WriteLine'打印出51。请帮忙。我以为是我的笔记本电脑,所以我重新启动了它,但还是没有运气。你想要吗
Console.ReadLine()
Read是您想要的下一个字符
Console.ReadLine()
Read是下一个字符,因为
'0' is 48
'1' is 49
.
.
.
'9' is 57
例如,如果输入1,它实际上不是数字1,而是“1”(ascii码为49的字符),将其解析为int将得到49。
您可以这样做以获得所需的结果:
int y = Console.Read() - '0';
但是,如果您想读取大于9的数字(多于一个数字),这是行不通的,最好将其解析为int:
int y = int.Parse(Console.ReadLine();
甚至为了确保输入的值可以解析为int:
int y = 0;
while(!int.TryParse(Console.ReadLine(), y);
因为ascii码
'0' is 48
'1' is 49
.
.
.
'9' is 57
例如,如果输入1,它实际上不是数字1,而是“1”(ascii码为49的字符),将其解析为int将得到49。
您可以这样做以获得所需的结果:
int y = Console.Read() - '0';
但是,如果您想读取大于9的数字(多于一个数字),这是行不通的,最好将其解析为int:
int y = int.Parse(Console.ReadLine();
甚至为了确保输入的值可以解析为int:
int y = 0;
while(!int.TryParse(Console.ReadLine(), y);
尤其是:
publicstaticstringreadline()代码>-返回字符串,而不是打印asccii值3。尤其是:publicstaticstringreadline()代码>-返回字符串,而不是打印asccii值3。