1. ホーム
  2. c#

[解決済み] 戻り値のないFuncデリゲート

2022-03-16 04:15:28

質問

Funcデリゲートはすべて値を返します。voidを返すメソッドで使用できる.NETデリゲートは何ですか?

どのように解決するのですか?

Funcデリゲートはすべて何かを返し、Actionデリゲートはすべてvoidを返します。

Func<TResult> は引数を取らず、TResult を返します。

public delegate TResult Func<TResult>()

Action<T> は引数を1つ取り、値を返しません。

public delegate void Action<T>(T obj)

Action は、最も単純な、「素の」デリゲートです。

public delegate void Action()

また Func<TArg1, TResult>Action<TArg1, TArg2> (その他、最大16引数)。これらすべて(ただし Action<T> は、.NET 3.5の新機能です(System.Coreで定義)。