這段代碼展示了使用 C# 的 asyncawait 關鍵字來處理異步編程,讓程序能在等待操作完成時繼續執行其他代碼。以下是該代碼的分解與解釋:

1. 主程式 (Main 方法)

public static void Main(string[] args) {
    Console.WriteLine("Main Method Started......");

    SomeMethod();

    Console.WriteLine("Main Method End");
    Console.ReadKey();
}

2. SomeMethod 方法(包含 asyncawait

public async static void SomeMethod() {
    Console.WriteLine("Some Method Started......");
    await Wait();
    Console.WriteLine("Some Method End");
}

3. Wait 方法(執行延遲)

private static async Task Wait() {
    await Task.Delay(TimeSpan.FromSeconds(10));
    Console.WriteLine("\\\\n10 Seconds wait Completed\\\\n");
}

程序的運行流程

  1. 當執行 Main 方法時,會立即輸出「Main Method Started......」。
  2. 接著呼叫 SomeMethod(),並立即繼續執行 Console.WriteLine("Main Method End"),所以不會等待 SomeMethod 完成。