C#一个程序,在你按下一个键之前读入文本,然后打印出来

C#一个程序,在你按下一个键之前读入文本,然后打印出来,c#,do-while,C#,Do While,我做错了什么?Reddit上有人说我需要另一个变量来保存所有文本,但我不知道怎么做。我相信你是编程新手,所以我将尝试解释你想做什么 您希望将键入的所有内容存储到变量中,直到按X键为止(或者我已经理解)。 变量“key”将存储您在一个周期内键入的任何内容(可以是任何内容)——这意味着,key将始终具有一个不稳定的值,因为每次它到达读取行时,您都在更改它。将变量“key”附加到另一个变量“alltext”上,即它的上一个值+新值“key”。仅当输入“x”且仅输入“x”时,循环才会结束。之后,它将以“

我做错了什么?Reddit上有人说我需要另一个变量来保存所有文本,但我不知道怎么做。

我相信你是编程新手,所以我将尝试解释你想做什么

您希望将键入的所有内容存储到变量中,直到按X键为止(或者我已经理解)。

变量“key”将存储您在一个周期内键入的任何内容(可以是任何内容)——这意味着,key将始终具有一个不稳定的值,因为每次它到达读取行时,您都在更改它。将变量“key”附加到另一个变量“alltext”上,即它的上一个值+新值“key”。仅当输入“x”且仅输入“x”时,循环才会结束。之后,它将以“alltext”打印所有内容

有很多方法可以做到这一点,使用数组是一种更好、更简洁的方法,但是我只是以一种您可以轻松理解的方式修改您所写的内容

    string text;
    string alltext; //what do I do with this?
    do
    {
        text = Console.ReadLine();
    } while (text!="x");
    Console.WriteLine(text);
    Console.ReadKey();
我使用“\n”所做的是在该文本之后添加一行新行(让控制台知道这是一行新行)


让我知道这是否有助于思考您要做的事情:创建一个字符串,并不断向其中添加行,直到用户点击“x”

现在看看您正在做什么:创建一个字符串,然后使用用户键入的每一行重新创建该字符串

找出需要向字符串追加(添加)的语法。提示:查找连接

string key = "";
string alltext = "";
do
{
    key = Console.ReadLine();
    alltext += key + "\n ";
} while (key!="x");
Console.WriteLine(alltext);
Console.ReadKey();

你是说这个

你知道如何连接字符串吗?阅读以下内容:问题不在于按x时停止,它们都需要一行x,按ENTER键更好的问题是他知道如何声明变量吗。。?这并不难。。将所有值存储到一个列表中,当有人输入大写字母
X
,然后使用
控制台,WriteLine(string.Join(“,“您的列表”)<代码> >可变的…只有代码的答案被认为是较低的质量。考虑添加一个解释来充实你的答案并提高它的长期价值。@艾米Tress在你发布的时候进行了编辑:PupDest-FAKECALBEB不起作用。=使用未分配的局部变量。@lapartman更新,错误在于变量“alltext”没有初始值,因此第一个“alltext+=key+”\n;'将给出一个错误。感谢您指出,您需要在一秒钟内初始化所有TextFixed。您是编程新手吗?如果是,这可能会对您有所帮助:@FakeCaleb@Ngine learncs.org可能?删除了否决票:)
    string text="";
    string alltext=""; //what do I do with this?
    while (text!="x" || text!="X")
    {
        text = Console.ReadLine();
        alltext+=text;
    } 
    Console.WriteLine(alltext);
    Console.ReadKey();