是否有可能lambda表达式存储阵列中的C# [英] Is it possible to store lambda expression in array C#

查看:111
本文介绍了是否有可能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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆