C# 是否可以在数组C中存储lambda表达式#
我正在编写一个游戏AI引擎,我想在数组中存储一些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>(); _
_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();