C# · 12月 26, 2021

c# – Console.Read被忽略

我是C#语言的新手,只是开始学习XNA Game Studio for X-@R_936_2419@.

我对Java和C有一些小小的经验,所以我不是TOTAL noob.这就是为什么这个问题对我来说非常沮丧.

我创建了一个简单的代码,用于添加用户输入的两个数字.非常简单的东西,但是我感觉到的任何新语言都是一个很好的第一步.

我已经声明了我的变量,并试图使用Console.Read()来获取用户添加的数字.到目前为止,代码输出我想要的消息,然后停止并从用户读取单个输入.之后,它搞砸了.控制台输出下一条消息,读取一些随机数(无输入),然后将它们相加并立即输出.

这是我的代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Add{ class Program { static void Main(string[] args) { Console.WriteLine(“Please enter the first number to add: “); int firstNumber = Console.Read(); Console.WriteLine(“Please enter the second number to add: “); int secondNumber = Console.Read(); int Sum = firstNumber + secondNumber; Console.WriteLine(“The total of the two numbers is: ” + Sum); } }}

样品运行:

请输入要添加的第一个数字:

2

请输入第二个数字:

两个数字的总和是:63

请输入要添加的第一个数字:

3

请输入第二个数字:

这两个数字的总和是:64

它继续这样,好像第二个数字是61.

提前感谢任何帮助!

解决方法 这是因为它正在从控制台读取下一个字符,然后将其转换为int,这给出了ASCII值,而不是数值.所以输入2将被解释为字符’2′,并带有ascii代码50.尝试这样做: int firstNumber = Int32.Parse(Console.ReadLine());