如何初始化(使用c#初始化器)字符串列表?我已经尝试了下面的例子,但它不工作。

List<string> optionList = new List<string>
{
    "AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();

当前回答

我已经看到了c#的内容标签,但如果有人可以使用Java(相同的搜索词引导这里):

List<String> mylist = Arrays.asList(new String[] {"element1", "element2", "element3" }.clone());

其他回答

如果您使用的是c# 9.0及更高版本,则可以使用新特性目标类型的new表达式Link

例子:

List<string> stringList = new(){"item1","item2", "item3"} ;

只需在最后删除()即可。

List<string> optionList = new List<string>
            { "AdditionalCardPersonAdressType", /* rest of elements */ };

你的函数很好,但不能工作,因为你把()放在了最后一个}之后。如果将()移到顶部new List<string>()旁边,错误就会停止。

示例如下:

List<string> optionList = new List<string>()
{
    "AdditionalCardPersonAdressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
};

这就是初始化的方式,如果你想让它更动态,你也可以使用List.Add()。

List<string> optionList = new List<string> {"AdditionalCardPersonAdressType"};
optionList.Add("AutomaticRaiseCreditLimit");
optionList.Add("CardDeliveryTimeWeekDay");

通过这种方式,如果从IO中获取值,可以将其添加到动态分配的列表中。

var animals = new List<string> { "bird", "dog" };
List<string> animals= new List<string> { "bird", "dog" };

以上两种是最短的方式,请参见https://www.dotnetperls.com/list