2017-02-14 9 views
0

敬礼、この現象は、非同期の可能性がありますか?

私はかなり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ウィンドウを閉じるためにキーのクリックを待ちます。

私は次のような疑問を抱いていました。これは非同期動作のようなものですか?そうでない場合、それは何ですか?そうであれば、同じConsole.WriteLine()内にReadLine()を置くことは可能でしょうか、それとも普通に行うように2つの別々の行として持っていなければなりませんか?

+1

あなたのコマンドを試しています'Console.WriteLine(" string ")'内部に 'Console.ReadLine()'が含まれています。つまり 'WriteLine'が実行されるためには、プログラムのfi 'ReadLine'を実行して' Writeline'コマンドを実行できるようにする必要があります。だからこそ、なぜなら、いいえ、それは '非同期'とは関係なく、アプリケーションのメソッドの実行順序です。 – Niklas

+0

Mm、downvote、ええ、私は、新人の質問をしていると思うのですが、そうではありません。 CSフォークは人々のスキルを持つことは知られていませんでした。 – SomeStudent

+1

この本を読むことをお勧めします。興味深い情報が含まれています。https://www.amazon.com/Exam-Ref-70-483-Programming-MCSD/dp/0735676828 – Niklas

答えて

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()); 
+0

Gotchaもその行に沿って考えていました。私は非同期について少し読んでいたので、私はこれを私の心に持っていたのです。説明をありがとうございます。 – SomeStudent

1

同期および非同期のは、ここで問題にならないのように書く、ちょうど構文エラーが

Console.WriteLine("Enter your sentence: "); 
Console.WriteLine("Sentence is: {0}", Console.ReadLine()); 
関連する問題