【问题标题】:ReadLine() not accepting first character [closed]ReadLine()不接受第一个字符[关闭]
【发布时间】:2012-04-22 14:55:04
【问题描述】:

我发现了问题
问题出在 MonoDevelop 上,它在控制台中运行良好。谢谢你的帮助。

我正在使用 C# 控制台应用程序,并且我构建了一个简单的菜单,当要求用户输入时,它没有显示输入的第一个字符。

这是我的代码。

Console.Write("Input >");
string result = Console.ReadLine();
switch(result) {
     case "1":
          Console.WriteLine("1");
     break;
     case "2":
         Console.WriteLine("2");
     break;
     default:
         Console.WriteLine("Invalid");
     break;
}

--EDIT-- 实际代码

Console.Write("\t\t\t+");
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("-----------------------------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("+");

Console.Write("\t\t\t|");
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("---MENU----------------------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("|");

Console.Write("\t\t\t|");
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("------|1|-HELP MENU----------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("|");

Console.Write("\t\t\t|");
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("------|2|-INITIATE CHAT------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("|");

Console.Write("\t\t\t|");
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("------|3|-CONFIGURATION -----");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("|");

Console.Write("\t\t\t+");
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write("-----------------------------");
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("+");

Console.ForegroundColor = ConsoleColor.White;           
string result = Console.ReadLine();
menuInput(result);

【问题讨论】:

  • 我的问题中的代码编译得很好,你认为什么会阻止它?
  • 您的代码对我来说很好用。您能否更详细地描述它的作用以及您期望它做什么?
  • 错误 1 ​​控件不能从一个案例标签 ('case "2":') 掉到另一个错误 2 控件不能从一个案例标签 ('default:') 掉到另一个
  • @NikhilAgrawal,每个case 的代码中都有一个break。它对我来说编译得很好。
  • @NikhilAgrawal:如何获得?

标签: c# switch-statement readline


【解决方案1】:

对我很好

        Console.Write("\t\t\t+");
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.Write("-----------------------------");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("+");

        Console.Write("\t\t\t|");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("---MENU----------------------");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("|");

        Console.Write("\t\t\t|");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("------|1|-HELP MENU----------");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("|");

        Console.Write("\t\t\t|");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("------|2|-INITIATE CHAT------");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("|");

        Console.Write("\t\t\t|");
        Console.ForegroundColor = ConsoleColor.Red;
        Console.Write("------|3|-CONFIGURATION -----");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("|");

        Console.Write("\t\t\t+");
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.Write("-----------------------------");
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("+");

        Console.ForegroundColor = ConsoleColor.White;

        Console.Write("Input >");
        string result = Console.ReadLine();
        switch (result)
        {
            case "1":
                Console.WriteLine("1");
                break;
            case "2":
                Console.WriteLine("2");
                break;
            default:
                Console.WriteLine("Invalid");
                break;
        }

        Console.ReadLine();

【讨论】:

  • 这很奇怪,定期它对我不起作用。
猜你喜欢
  • 1970-01-01
  • 2017-04-10
  • 2020-02-20
  • 1970-01-01
  • 2022-01-14
  • 2014-01-24
  • 2013-02-19
  • 2013-06-15
  • 1970-01-01
相关资源
最近更新 更多