¿Hay alguna manera de inicializar un NVC usando la sintaxis del inicializador de colección C #?
NameValueCollection nvc = new NameValueCollection() { ("a", "1"), ("b", "2") };
Gracias
Respuestas:
Si; solo usa llaves en lugar de paréntesis.
var nvc = new NameValueCollection { {"a", "1"}, {"b", "2"} };
Puede llamar a Add
métodos con conjuntos arbitrarios de parámetros utilizando la sintaxis.
NameValueCollection
acepta esta sintaxis: msdn.microsoft.com/en-us/library/bb384062.aspx
Dictionary<K,V>
inicialización, "o cualquier colección cuyo método Add tome múltiples parámetros", msdn.microsoft.com/en-us/library/bb531208.aspx
Puede usar inicializadores de colección con todo lo que tenga Add
método. Sí, escribiendo pato. Si Add
tiene más de 1 parámetro, ponga tuplas entre llaves:
NameValueCollection nvc = new NameValueCollection() { { "a", "1" }, { "b", "2" } };
IEnumerable
.
System.Collections.IEnumerable
Y tiene un Add
método que toma al menos 1 argumento.
NameObjectCollectionBase
que usa IEnumerable
. Es una lección para mí antes, si desea verificar cuál fue la implementación utilizada, asegúrese de verificar todo el tipo base hasta System.Object
.