2011-02-24 55 views

回答

114

是;只是使用大括号而不是括号。

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

您可以使用语法调用Add方法,使用任意参数集。

+0

感谢您的快速回复! – gap 2011-02-24 16:25:55

+0

关于*对象和集合初始化的MSDN页面*概述了为什么'NameValueCollection'接受这种语法:http://msdn.microsoft.com/en-us/library/bb384062.aspx – user7116 2011-02-24 16:26:28

+3

@six:实际上,它没有甚至提到这个语法。 – SLaks 2011-02-24 16:28:01

7

您可以对包含Add方法的所有东西使用集合初始值设定项。是啊,打字。如果Add具有多于1个参数,则将元组放在大括号中:

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

不完全;它必须实现'IEnumerable'。 – SLaks 2011-02-24 16:25:46

+2

实现'System.Collections.IEnumerable'并有一个至少带有1个参数的'Add'方法。 – user7116 2011-02-24 16:27:19

+0

@SLaks是的,我忘了它。顺便说一句,这是相当奇怪的要求,因为这种构造不使用IEnumerable的方法。 – Andrey 2011-02-25 09:21:00

相关问题