c# await的用法

使用await的好处是await后边代码处于等待状态,任务结束后再继续向下执行。以下没用WPF工程,使用一个控制台程序进行演示。


using System;
using System.Globalization;
using System.Threading.Tasks;

namespace asyncTest
{
    class Program
    {
        static string Greeting(string name)
        {
            Task.Delay(3000).Wait();
            return  $"Hello,{name}";
        }
        static Task GreetingAsync(string name)
        {
            return Task.Run(()=> 
            { return Greeting(name); });
        }
         async static void CallerWithAsync()
        {
            Console.WriteLine("开始执行await:" + DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒", DateTimeFormatInfo.InvariantInfo));
            string result = await GreetingAsync("WPF");
            Console.WriteLine(result);
            Console.WriteLine(DateTime.Now.ToString("等待结束,开始继续执行 " + "yyyy年MM月dd日hh时mm分ss秒", DateTimeFormatInfo.InvariantInfo));
        }
        static void Main(string[] args)
        {
            CallerWithAsync();
            Console.ReadLine();
        }
    }
}

 

你可能感兴趣的:(c#)