通用可变参数

时间:2010-10-28 19:14:17

标签: c# linq

从dahlbyk回答这个问题:Map two lists into a dictionary in C#,Leppie写了这样的评论:

遗憾的是需要Zip方法。如果只有更多静态类型的语言支持通用的可变参数,Select会处理这个(比如Scheme中的map)。 - leppie

这是什么意思? (我不知道Scheme):)

1 个答案:

答案 0 :(得分:9)

他的意思是,如果C#支持动态数字或参数(variadic,params),它们都是不同的泛型类型,则不需要Zip方法,因为它可以由Select覆盖。

我不知道这是否属实,只是解释句子......

修改

我只是认为他意味着可变数量的泛型类型(事实上它只与可变数量的方法参数结合使用),如下所示:

void Foo<params T>(params T[] args)

Foo(true, 7, "hello");

想一想Action<...>Func<...>的许多声明。

顺便说一下,当你不确定评论时,为什么不简单地问他?