是否有可能lambda表达式存储阵列中的C# [英] Is it possible to store lambda expression in array C#
本文介绍了是否有可能lambda表达式存储阵列中的C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在写一个游戏的AI引擎,我想一些lambda表达式/代表(参数多个列表)存放在数组中。
I'm writing a game AI engine and I'd like to store some lambda expressions/delegates (multiple lists of arguments) in an array.
类似的东西:
_events.Add( (delegate() { Debug.Log("OHAI!"); }) );
_events.Add( (delegate() { DoSomethingFancy(this, 2, "dsad"); }) );
是否有可能在C#中?
Is it possible in C#?
推荐答案
您可以做一个列表<作用>
而不是:
List<Action> _events = new List<Action>();
_events.Add( () => Debug.Log("OHAI!")); //for only a single statement
_events.Add( () =>
{
DoSomethingFancy(this, 2, "dsad");
//other statements
});
然后调用单个项目:
Then call an individual item:
_events[0]();
这篇关于是否有可能lambda表达式存储阵列中的C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文