C++でお世話になっていたラムダ式を、Unityでも利用したいと思い調べました。
C++のラムダ式
auto Func = [](){};
Func();
C#のラムダ式
using System;
using System.Threading.Tasks;
Action Func = () => {};
Func();
C++ のようにいちいちデリゲート型を宣言せずに型推論で利用したいところですが、「var」にラムダ式で生成した関数を入れようとするとコンパイルエラーになるので、どうしても利用したい場合には補助メソッドを作る必要がありそうです。(追記:C# 10.0
ではすでに実装可能とのことです)
-
主なデリゲート(関数を入れる変数)
- Action
- Action<引数の型>
- Func<返り値の型>
- Func<返り値の型, 引数の型>
ラムダ式やデリゲート型については下記サイト様が詳しく説明されています😊
➡ https://qiita.com/toRisouP/items/98cc4966d392b7f21c30