C#で非同期lambda式を使用して委任インスタンスを初期化する方法
4978 ワード
次に、.NET Coreコンソールプロジェクトを使用して、非同期lambda式を使用して、Func>、Func、Actionの3つの委任インスタンスを初期化する方法を示します.
Main関数を非同期関数に改造する方法も示した.
上の例が皆さんに役に立つことを願っています~
Main関数を非同期関数に改造する方法も示した.
using System;
using System.Threading.Tasks;
namespace NetCoreAsyncDelegate
{
class Program
{
// Main Task , async , Main void, ,.NET
static async Task Main(string[] args)
{
// Func> , lambda Func> , lambda , lambda async , await , Func> Task , , lambda 100
Funcint>> delegateFuncTaskReturn = async () =>
{
await Task.Delay(1000);
return 100;
};
// await , Func>
int returnedValue = await delegateFuncTaskReturn();
Console.WriteLine("delegateFuncTaskReturn has been done and returned value {0}", returnedValue);
// Func , lambda Func , lambda , lambda async , await , Func Task , , lambda
Func delegateFuncTaskNoReturn = async () =>
{
await Task.Delay(1000);
};
// await , Func
await delegateFuncTaskNoReturn();
Console.WriteLine("delegateFuncTaskNoReturn has been done");
// Action , lambda Action , lambda , lambda async , await , Action void, , lambda
Action delegateActionTask = async () =>
{
await Task.Delay(1000);
Console.WriteLine("delegateActionTask has been done");
};
// Action Task Task , Main await , Main Action
delegateActionTask();
Console.WriteLine("Press any key to end...");
Console.ReadKey();
}
}
}
上の例が皆さんに役に立つことを願っています~