看起来这整个简单的代码是正确的,但是当我点击开始并输入任何数字(例如4或6)时,唯一的输出是每次"else if"!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int c = Convert.ToInt32(Console.Read());
if (c >= 0 && c < 5)
{
Console.Write("# is > 0");
}
else if (c >= 5)
{
Console.Write("# is > 5");
}
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
Console.Read 内容如下:
输入流中的下一个字符,[...]
如果查看ASCII表,您会注意到表示数字的字符具有从48开始的值.您获得的值已经是整数,因此无需转换(请参阅Console.Read文档中的签名).根据Travis J的建议,您可以使用以下代码来获得预期结果:
int c = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
正如您在文档中Console.ReadLine看到的那样- 它返回一个string.
考虑使用调试器,如您的问题中的注释所示,以及阅读文档.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |