2010-10-28 15 views
8

De dahlbyk respuesta a esta pregunta: Map two lists into a dictionary in C#, leppie escribieron este comentario:parámetros genéricos variadic

una pena que no es una necesidad de un método Zip. Si solo otros lenguajes con tipificación estática soportaran parámetros genéricos variados, Select manejaría esto (como map in Scheme). - leppie

¿Qué significa eso? (No sé Scheme) :)

Respuesta

7

Quiere decir que si C# admitiría un número dinámico o argumentos (variadic, params) que son todos de un tipo genérico diferente, no habría necesidad de un Zip método, porque podría estar cubierto por Select.

No sé si esto es verdad, solo la interpretación de la sentencia ...

Editar:

solo creo que él quiere decir un número variable de tipos genéricos (que es, de hecho, sólo es útil en combinación con un número variable de argumentos del método), así:

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

Foo(true, 7, "hello"); 

Basta con pensar en las muchas declaraciones de Action<...> y Func<...>.

Por cierto, cuando no está seguro acerca de un comentario, ¿por qué no simplemente preguntarle?

+2

+1 Eso estaría bien, al igual que en [C++ 0x] (http://en.wikipedia.org/wiki/C%2B%2B0x#Variadic_templates). –

+1

es falso que sea útil solo con argumentos asociados. los tipos en sí mismos son una información. Foo () nos permitiría hacer una lista de tipos, utilizando typeof. Por ejemplo, para hacer una clase variante. –

Cuestiones relacionadas