在 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# 中可能吗?如果可以,如何实现?
最佳答案
您可以使用集合初始化器:
new List<string> { "a", "b", "c" }
这将编译为对 Add
方法的一系列调用。
如果 Add
方法接受多个参数(例如字典),您需要将每个调用用一对单独的大括号括起来:
new Dictionary<string, Exception> {
{ "a", new InvalidProgramException() },
{ "b", null },
{ "c", new BadImageFormatException() }
}
关于c# - C# 中的集合初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881676/