C# 中的集合初始值设定项
在 Java 中,我可以创建一个列表并立即使用静态初始值设定项填充它。像这样的东西:
List <String> list = new ArrayList<String>()
{{
Add("a");
Add("b");
Add("c");
}}
这很方便,因为我可以动态创建列表,并将其作为参数传递给函数。像这样的事情:
printList(new ArrayList<String>()
{{
Add("a");
Add("b");
Add("c");
}});
我是 C# 新手,试图找出如何做到这一点,但一无所获。这在 C# 中可能吗?如果可以的话,该怎么办呢?
In Java, I can create an List and immediately populate it using a static initializer. Something like this:
List <String> list = new ArrayList<String>()
{{
Add("a");
Add("b");
Add("c");
}}
Which is convenient, because I can create the list on the fly, and pass it as an argument into a function. Something like this:
printList(new ArrayList<String>()
{{
Add("a");
Add("b");
Add("c");
}});
I am new to C# and trying to figure out how to do this, but am coming up empty. Is this possible in C#? And if so, how can it be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用集合初始值设定项:
这会编译为对
Add
方法的一系列调用。如果
Add
方法采用多个参数(例如字典),则需要将每个调用包装在一对单独的大括号中:You can use a collection initializer:
This compiles to a sequence of calls to the
Add
method.If the
Add
method takes multiple arguments (eg, a dictionary), you'll need to wrap each call in a separate pair of braces:从
C# 3.0
开始,您也可以这样做:MSDN,集合初始值设定项
编辑:回答有关字典的评论
Since
C# 3.0
you can do it as well:MSDN, Collection Initializers
EDIT: Answer to comment regarding dictionary
是的,MSDN 此处对此进行了描述
Yes, it's described on MSDN here