首先,我什至不知道在传递4个参数但没有返回值时使用什么,我只是以Func为例。
我不想使用 Dictionary.Add 插入我的函数,我希望它在初始化字典时在里面。
Dictionary<string, Func<int, int, int, int>> types = new Dictionary<string,
{"Linear", Func<int, int, int, int>> //idk how to write this part
{
code here
}}
首先,我什至不知道在传递4个参数但没有返回值时使用什么,我只是以Func为例。
我不想使用 Dictionary.Add 插入我的函数,我希望它在初始化字典时在里面。
Dictionary<string, Func<int, int, int, int>> types = new Dictionary<string,
{"Linear", Func<int, int, int, int>> //idk how to write this part
{
code here
}}
对于Func
您在问题中遇到的类似问题,这应该有效:
var myDict = new Dictionary<string, Func<int, int, int, int>>()
{
{"Linear", (int a, int b, int c) => { return 0; } }
};
请注意,您总是需要return
在您的函数中有一个。
如果你想要一些没有返回值的东西,你不应该使用 a Func
,而是使用 an Action
:
var myDict = new Dictionary<string, Action<int, int, int, int>>()
{
{"Linear", (int a, int b, int c, int d) => { } }
};
与函数不同,动作不返回任何内容。
Action<int, int, int, int>
注意和之间的含义差异Func<int, int, int, int>
。在前者中,最后一个 int 表示第 4 个参数的类型,而在后者中,它表示返回类型。