在C#中,我正在输入char输入,然后输出一些内容。但是在输入控制不等待输入和直接给出输出之后

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中,我正在输入char输入,然后输出一些内容。但是在输入控制不等待输入和直接给出输出之后相关的知识,希望对你有一定的参考价值。

我有以下代码:

使用系统;

namespace MyApp {
class KeyBoardInputTest {
    static void Main() {
        Console.Write("Enter a character >	");
        char ch = (char)Console.Read();
        Console.WriteLine("");

        if(Char.IsLetter(ch)) {
            if(Char.IsUpper(ch))
                Console.WriteLine("You have entered an upper case character");
            else
                Console.WriteLine("You have entered a lower case character");
        }
        else if(Char.IsNumber(ch))
            Console.WriteLine("You have entered a numeric character");
        else
            Console.WriteLine("You have entered a non alpha-numeric character");
        Console.Read();
    }
}
} 

在接受输入之后,如果它直接显示结果而不等我按Enter键

使用Console.ReadLine()给出错误 -

error CS0030: Cannot convert type 'string' to 'char'

使用Console.ReadKey()给出错误 -

error CS0030: Cannot convert type 'System.ConsoleKeyInfo' to 'char'
答案

例如,try-parse:

Console.Write("Enter a character >	");
char ch;
char.TryParse(Console.ReadLine(), out ch);
Console.WriteLine();

如果用户在Enter之前输入太多字符或没有字符,您将获得空字符''。或者,您可以获取TryParse的返回值,这是一个布尔值,表示解析是否成功。

另一答案

考虑转动代码以接受输入作为参数,并使用System类Convert.ToChar()将输入转换为char

using System;

namespace MyApp {

class KeyBoardInputTest {
static void Main(string [] args) {    // This line has been changed
    Console.Write("Enter a character >	");
    char ch = Convert.ToChar(args[0])   // This line has been changed
    Console.WriteLine("");

    if(Char.IsLetter(ch)) {
        if(Char.IsUpper(ch))
            Console.WriteLine("You have entered an upper case character");
        else
            Console.WriteLine("You have entered a lower case character");
    }
    else if(Char.IsNumber(ch))
        Console.WriteLine("You have entered a numeric character");
    else
        Console.WriteLine("You have entered a non alpha-numeric character");
    Console.Read();
}
}
} 

以上是关于在C#中,我正在输入char输入,然后输出一些内容。但是在输入控制不等待输入和直接给出输出之后的主要内容,如果未能解决你的问题,请参考以下文章

使用scanf从用户输入十六进制指令并将其保存在char中。 (C)

C语言如何一次输入多个字符串,然后再输出

C 低级标准输入以接受文件名,然后将文件内容打印到标准输出

函数返回 Int 而不是 char

c语言中实现输入一个数字字符,然后转换成整数数字输出.怎么做?

C++ char 数组 - 相同的输入给出不同的输出