Antworten:
Ja; verwendet nur geschweifte Klammern anstelle von Klammern.
var nvc = new NameValueCollection { {"a", "1"}, {"b", "2"} };
AddMit der Syntax können Sie Methoden mit beliebigen Parametersätzen aufrufen .
NameValueCollectiondiese Syntax akzeptiert wird: msdn.microsoft.com/en-us/library/bb384062.aspx
Dictionary<K,V>Initialisierung vergraben zu sein , "oder jede Sammlung, deren Add-Methode mehrere Parameter akzeptiert
Sie können Sammlungsinitialisierer für alle AddMethoden verwenden. Ja, Ententippen. Wenn Addmehr als 1 Parameter Tupel in geschweiften Klammern hat:
NameValueCollection nvc = new NameValueCollection() { { "a", "1" }, { "b", "2" } };
IEnumerable.
System.Collections.IEnumerableAND hat eine AddMethode, die mindestens 1 Argument akzeptiert.
NameObjectCollectionBase, die verwendet IEnumerable. Es ist eine Lektion für mich, wenn Sie überprüfen möchten, welche Implementierung verwendet wurde, stellen Sie sicher, dass Sie alle Basistypen bis zu überprüfen System.Object.