通用可变参数

Mob*_*erg 8 c# linq

从dahlbyk回答这个问题:将两个列表映射到C#中的字典中,Leppie写了这样的评论:

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

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

Ste*_*ger 9

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

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

编辑:

我只是觉得他的意思是可变数量的泛型类型的(这实际上是只与方法参数数量可变的组合使用),如下所示:

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

Foo(true, 7, "hello");
Run Code Online (Sandbox Code Playgroud)

试想想的很多声明Action<...>Func<...>.

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

  • +1这很好,就像[C++ 0x](http://en.wikipedia.org/wiki/C%2B%2B0x#Variadic_templates)一样. (2认同)