【问题标题】:How do you redirect input as out put with ReadLine and WriteLine? (Noob) [closed]如何使用 ReadLine 和 WriteLine 将输入重定向为输出? (菜鸟)[关闭]
【发布时间】:2016-11-21 17:06:18
【问题描述】:

我正在尝试创建一个小游戏,但我希望用户输入他的名字,这样游戏就更逼真了!如何???? 我正在努力做到这一点,所以如果您输入 3(案例 3),应用程序就会关闭! 这是代码!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace Game
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Does anyone copy?");
           // Thread.Sleep(3000);
            Console.WriteLine("Is there anybody listening?");
           // Thread.Sleep(3000);
            Console.WriteLine("Please i need help!!!");
            //Thread.Sleep(3000);
            Console.WriteLine("1. Who is this?");
            Console.WriteLine("2. Yes i copy!");
            Console.WriteLine("3. Ignore the message!");
            String choice = Console.ReadLine();
            switch (choice)
            {
                case "1":
                    //Thread.Sleep(2000);
                    Console.WriteLine("I'm Emma!");
                    //Thread.Sleep(6000);
                    Console.WriteLine("Oh my God i tought nobody was going to answer!");
                    //Thread.Sleep(2000);
                    Console.WriteLine("Who are you?");
                    break;
                case "2":
                    //Thread.Sleep(6000);
                    Console.WriteLine("Oh my God i tought nobody was going to answer!");
                    //Thread.Sleep(2000);
                    Console.WriteLine("I'm Emma by the way!");
                    //Thread.Sleep(2000);
                    Console.WriteLine("Who are you?");
                    break;
                case "3":

                break;
            }

        Console.ReadLine();
        string yourName;
        yourName = Console.ReadLine();
        //Thread.Sleep(10000);
        Console.WriteLine("Hey {0}... Sorry i got you so worried... i was just scared someone was in my room!" yourName );
        //Thread.Sleep(20000);



    }
}

}

【问题讨论】:

  • 您有一个确切的问题吗?这段代码有效吗?如果没有,你能解释什么不起作用吗?下次阅读help centerHow to Ask
  • 如何在您的代码中放置断点,使用调试器,然后检查您的逻辑并告诉我们当您根据用户键入的第一、第二和第三件事进入 switch case 语句时会发生什么控制台窗口..?你至少试过了吗..?
  • 如果您希望它在case "3" 上退出,那么您需要使其“通过”到退出点,或者您可以让案例 3 执行此操作:Environment.Exit(0)。目前它落入Console.ReadLine();(高于string yourName;),因此它不会退出,因为它正在等待输入。
  • 我们不是来写代码的!!!!还有你为什么这样说话!!!???!!!说真的,至少在你的问题上付出一些努力。我们不是来写你的代码的

标签: c# input output


【解决方案1】:

在您尝试使用 string.Format 的代码中,正确的语法是:

string yourName;
yourName = Console.ReadLine();
//Thread.Sleep(10000);
Console.WriteLine(String.Format("Hey {0}... Sorry i got you so worried... i was just scared someone was in my room!", yourName));
//Thread.Sleep(20000);

您缺少的重要部分是Console.WriteLine(String.Format(

您还需要用逗号分隔变量和文本,因为它们是 String.Format() 方法中的不同参数。

除此之外,您还可以像这样使用字符串插值

Console.WriteLine($"Hey {yourName}... Sorry i got you so worried... i was just scared someone was in my room!");

这与String.Format 的工作方式类似,但它通过在字符串前添加$ 来使用。

如您所见,这样做的好处是,变量名称位于大括号内 - {yourName},而不是放置 0。与 String.Format 相比,要编写的代码更少

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 2014-06-12
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多