2010-10-28 15 views
8

Da dahlbyk risposta a questa domanda: Map two lists into a dictionary in C#, leppie ha scritto questo commento:generici i parametri variadic

Peccato v'è la necessità di un metodo Zip. Se solo più lingue tipizzate staticamente supportassero i parametri generici variadici, Select lo gestirà (come la mappa in Scheme). - leppie

Che cosa significa? (Non conosco Schema) :)

risposta

7

Vuol dire che se C# supporta il numero o gli argomenti dinamici (variadic, params) che sono tutti di un tipo generico diverso, non ci sarebbe bisogno di un Zip metodo, perché potrebbe essere coperto da Select.

Non so se questo è vero, solo interpretando la frase ...

Edit:

Penso solo che egli intende un numero variabile di tipi generici (che è in realtà utile solo in combinazione con un numero variabile di argomenti del metodo), in questo modo:

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

Foo(true, 7, "hello"); 

Basti pensare alle numerose dichiarazioni di Action<...> e Func<...>.

A proposito, quando non si è sicuri di un commento, perché non chiedergli semplicemente?

+2

+1 Sarebbe bello, proprio come in [C++ 0x] (http://en.wikipedia.org/wiki/C%2B%2B0x#Variadic_templates). –

+1

non è vero che sia utile solo con gli argomenti associati. i tipi da soli sono un'informazione. Foo () ci consentirebbe di creare una lista di caratteri, usando typeof. Ad esempio, per fare una classe variante. –

Problemi correlati