这种行为是否可能是异步?

时间:2017-02-14 04:39:15

标签: c# asynchronous

致敬,

我是C#的新手,我觉得Java很舒服,因此我对C#(它的LINQ和SQL语法的巨大粉丝)感到非常满意。 Anywho,我是异步调用的新手,我想知道以下行为是否与此相关。

所以在我的代码中我有以下内容:

    string sentence;


    Console.WriteLine("Enter your sentence: {0}", sentence = Console.ReadLine());
    Console.WriteLine("Sentence is: {0}", sentence);

    Console.ReadKey();

这很简单,我只是试图看看是否可以在要求它的同一提示中插入输入的读数。但是,我注意到代码运行,但它是一个空白屏幕,我可以输入我的输入,然后它会显示我输入的内容,并等待按键点击以关闭CMD窗口。

我想知道的是:这是一种异步行为 - 如果不是,那么它是什么?如果是这样,是否可以将ReadLine()置于同一个Console.WriteLine()中,或者我必须将它们作为通常的两条独立行进行处理?

2 个答案:

答案 0 :(得分:2)

这里没有异步。

第一个Console.WriteLine要求其参数在自己执行之前准备就绪。换句话说,Console.ReadLine必须在第一个Console.WriteLine之前执行。这就是空白屏幕的来源。

只需写为

Console.WriteLine("Enter your sentence: ");
sentence = Console.ReadLine()
Console.WriteLine("Sentence is: {0}", sentence);

或“同一行”

Console.WriteLine("Enter your sentence: ");
Console.WriteLine("Sentence is: {0}", Console.ReadLine());

答案 1 :(得分:1)

这里不关心同步和异步,只是语法错误试试

Console.WriteLine("Enter your sentence: ");
Console.WriteLine("Sentence is: {0}", Console.ReadLine());