为了帮助我学习c#,我将我在lua中创建的脚本转换为C#
我想知道是否可以在列表中添加一个函数(lua中的表)并调用它
这是我在Lua中所拥有的东西
functions{ function() print("Hello World!") end }
functions[1]()
Output: Hello World!
在C#中,我正在使用列表 实施例
var functions = new List</* What do I put here */>();
functions.Add(/* Somehow define a public static void here */);
谢谢。
答案 0 :(得分:2)
根据您是否需要结果,使用Action
或Func<TResult>
,使用lambda expression定义您要查找的样式的功能:
var functions = new List<Action>();
functions.Add(() => { Console.WriteLine("Here!"); }
functions[0]();
答案 1 :(得分:0)
真棒!好吧,我不能肯定地说这是最好的答案,但这是我对这种情况的看法。
class Program
{
static void Main(string[] args)
{
var functions = new List<Action>();
functions.Add(new Action(delegate
{
// Do stuff
Console.WriteLine("Successfully did stuff.");
}));
functions[0].DynamicInvoke();
Console.ReadKey();
}
}
.NET中的操作与Task Parallel Library一起使用很多。