C# 是否可以在数组C中存储lambda表达式#

C# 是否可以在数组C中存储lambda表达式#,c#,.net,lambda,C#,.net,Lambda,我正在编写一个游戏AI引擎,我想在数组中存储一些lambda表达式/委托(多个参数列表) 诸如此类: _events.Add( (delegate() { Debug.Log("OHAI!"); }) ); _events.Add( (delegate() { DoSomethingFancy(this, 2, "dsad"); }) ); 在C#中可能吗 您可以制作一个列表: List<Action> _events = new List<Action>(); _

我正在编写一个游戏AI引擎,我想在数组中存储一些lambda表达式/委托(多个参数列表)

诸如此类:

 _events.Add( (delegate() { Debug.Log("OHAI!"); }) );
 _events.Add( (delegate() { DoSomethingFancy(this, 2, "dsad"); }) );
在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
    });

您可以使用System.Action

var myactions = new List<Action>();
myactions .Add(new Action(() => { Console.WriteLine("Action 1"); }) 
myactions .Add(new Action(() => { Console.WriteLine("Action 2"); }) 

foreach (var action in myactions)
  action();
var myactions=new List();
添加(新操作(()=>{Console.WriteLine(“操作1”);})
添加(新操作(()=>{Console.WriteLine(“操作2”);})
foreach(myactions中的var操作)
动作();

似乎您更希望存储“回调”方法,而不是lambda表达式。或者一个列表…是的,您可以…@gunr217谢谢!我想这对我很有用!
var myactions = new List<Action>();
myactions .Add(new Action(() => { Console.WriteLine("Action 1"); }) 
myactions .Add(new Action(() => { Console.WriteLine("Action 2"); }) 

foreach (var action in myactions)
  action();