来自用户输入的错误值

问题描述 投票:1回答:2

[我试图将通过Console.Read()获得的值保存为Integer,但是无论我在键盘上键入什么,控制台始终会给出13。我试图复制示例代码,该代码必须有效,但我仍然只能获得13的价值。

using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Read();
            int Test = Console.Read();
            Console.WriteLine(Test);
        }
    }
} 

我输入数字后,控制台中始终显示'13'。

c# .net console.readline
2个回答
0
投票

[Console.Read()从输入流中读取第一个字符。

[在您的情况下,您正在尝试转换输入流的第二个字符(即第一个Console.Read()之后),即Console.Read(),其ASCII值为13,Carriage return类型为Test的变量,存储了[ C0]的整数格式。即int

如果要转换输入流中的第一个字符,请尝试以下操作

carriage return

0
投票

尝试将此更改为:

13

由于13是输入的关键代码,您可能会试图读取整行来获取该数字。

© www.soinside.com 2019 - 2024. All rights reserved.