2011-02-24 18 views

Respuesta

114

Sí; solo utiliza llaves en lugar de paréntesis.

var nvc = new NameValueCollection { {"a", "1"}, {"b", "2"} }; 

Puede llamar Add métodos con conjuntos arbitrarios de los parámetros utilizando la sintaxis.

+0

¡Gracias por las respuestas rápidas! – gap

+0

La página de MSDN en * Object and Collection Initialization * describe exactamente por qué 'NameValueCollection' acepta esta sintaxis: http://msdn.microsoft.com/en-us/library/bb384062.aspx – user7116

+3

@six: en realidad, no lo hace incluso mencionar esta sintaxis. – SLaks

7

Puede utilizar los inicializadores de recopilación con todo lo que tenga el método Add. Sí, pato escribiendo. Si Add tiene más de 1 param, ponga tuplas en llaves:

NameValueCollection nvc = new NameValueCollection() { { "a", "1" }, { "b", "2" } }; 
+2

No del todo; debe implementar 'IEnumerable'. – SLaks

+2

Implementa 'System.Collections.IEnumerable' Y tiene un método' Add' que toma al menos 1 argumento. – user7116

+0

@SLaks sí, me olvidé de eso. Por cierto, es un requisito bastante extraño, porque esta construcción no utiliza los métodos de IEnumerable. – Andrey

Cuestiones relacionadas