Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Console.WriteLine正在打印与我输入的不同的值_C#_.net - Fatal编程技术网

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。