5

c# 中是否有任何快捷方式可以简化这一点:

List<string> exampleList = new List<string>();
exampleList.Add("Is");
exampleList.Add("it");
exampleList.Add("possible");

并变成这样:

 var exampleList = new List<string>();
 exampleList {
.Add("is");
.Add("it");
.Add("possible");
}

我知道可以在声明期间分配属性,如下所示:

var myObject = new MyObject{
Id = "Useful",
Name = "Shortcut"
};

知道是否还有其他类似的有用快捷方式会很有趣,但我找不到。

4

2 回答 2

6
var exampleList = new List<string>() {
    "Yes", "kinda", "with", "collection", "initializers" };

请注意,您也可以对多参数 Add 方法执行此操作,例如字典:

var lookup = new Dictionary<string, int> {
    {"abc", 124}, {"def",456}
};
于 2013-06-29T15:57:10.450 回答
5

你可以写一个扩展方法:

public static class ListExt
{
    public static List<T> Append<T>(this List<T> self, params T[] items)
    {
        if (items != null && self != null)
            self.AddRange(items);

        return self;
    }
}

然后像这样使用它:

List<string> list = new List<string>();

list.Append("Or", "you", "can", "use", "an", "extension", "method");

list.Append("Or").Append("like").Append("this");
于 2013-06-29T16:04:00.220 回答