声明字典<string,func <>&gt;已经在其中的函数c#

时间:2017-10-01 16:05:29

标签: c# dictionary collection-initializer

首先,我甚至不知道在传递4个参数但没有返回值时要使用什么,我只是以Func为例。

我不想使用Dictionary.Add来插入我的函数,我想在初始化字典时把它放在里面。

if ($current_trans_number > $first_trans_number) {

1 个答案:

答案 0 :(得分:2)

对于 {'arrival': {'time': 1506874477L}, 'departure': {'time': 1506874477L}, 'schedule_relationship': 0, 'stop_id': u'D03N'} ,就像你问题中的Func一样,这应该有效:

var myDict = new Dictionary<string, Func<int, int, int, int>>()
{
    {"Linear", (int a, int b, int c) => { return 0; } }
};

请注意,您的函数始终需要return

如果您想要一些没有返回值的内容,则不应使用Func,而应使用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表示第四个参数的类型,而在后一个中它表示返回类型。