Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的集合初始值设定项#_C#_Java_Static Initializer_Static Initialization - Fatal编程技术网

C# C语言中的集合初始值设定项#

C# C语言中的集合初始值设定项#,c#,java,static-initializer,static-initialization,C#,Java,Static Initializer,Static Initialization,在Java中,我可以创建一个列表,并使用静态初始值设定项立即填充它。大概是这样的: List <String> list = new ArrayList<String>() {{ Add("a"); Add("b"); Add("c"); }} printList(new ArrayList<String>() {{ Add("a"); Add("b"); Add("c"); }}); 这很方便,因为我可以动态创建列

在Java中,我可以创建一个列表,并使用静态初始值设定项立即填充它。大概是这样的:


List <String> list = new ArrayList<String>()
{{
    Add("a");
    Add("b");
    Add("c");
}}

printList(new ArrayList<String>()
{{
    Add("a");
    Add("b");
    Add("c");
}});
这很方便,因为我可以动态创建列表,并将其作为参数传递到函数中。大概是这样的:


List <String> list = new ArrayList<String>()
{{
    Add("a");
    Add("b");
    Add("c");
}}

printList(new ArrayList<String>()
{{
    Add("a");
    Add("b");
    Add("c");
}});
我对C#还不熟悉,正试图弄明白如何做到这一点,但结果却一无所获。这在C#中可能吗?如果是这样,怎么做呢?

既然
C#3.0
你也可以这么做:

List <String> list = new List<String>
                     {
                             "a", "b", "c"
                     };
List List=新列表
{
“a”、“b”、“c”
};
MSDN

集合初始值设定项允许您指定一个或多个元素 初始化实现的集合类时初始化器 我数不清。元素初始值设定项可以是一个简单的值 表达式或对象初始值设定项。通过使用集合初始值设定项 您不必指定对的Add方法的多个调用 在源代码中创建类;编译器添加这些调用

编辑:回答有关词典的评论

IDictionary<string, string> map = new Dictionary<string, string>
{
   { "Key0", "Value0" },
   { "Key1", "Value1" }
};
IDictionary map=新字典
{
{“Key0”,“Value0”},
{“Key1”,“Value1”}
};

您可以使用集合初始值设定项:

new List<string> { "a", "b", "c" }

是的,MSDN

@user489041上描述了它:您也可以初始化字典,请参见下面我的答案中的一个示例。这不是一个“”-它是一个实例初始化器谢谢您的说明。