我可以使用类似的东西以简洁的方式初始化一个类:
public static readonly type TYPE_NAME = new type()
{
ClientIp = "ClientIp",
LanguageCode = "LanguageCode",
SessionToken = "SessionToken",
SystemKey = "SystemKey"
};
然而,是否可以以类似的方式初始化集合(继承自List<>
)?
答案 0 :(得分:8)
List<string> strList = new List<string>{ "foo", "bar" };
List<Person> people = new List<Person>{
new Person { Name = "Pete", Age = 12},
new Person { Name = "Jim", Age = 15}
};
答案 1 :(得分:0)
使用集合初始值设定项
http://msdn.microsoft.com/en-us/library/bb384062.aspx
List<int> list = new List<int> { 1, 2, 3 };
答案 2 :(得分:0)
是:
var l = new List<int>() { 1, 1, 2, 3, 5 };
答案 3 :(得分:0)
您肯定可以使用集合初始化程序。 要使用它,
List<int> collection= List<int>{1,2,3,...};
要使用集合初始值设定项,它不必完全是List类型。
集合初始值设定项可用于那些实现IEnumerable并具有一个公共Add
方法的类型。
即使在以下类型中也使用了Collection初始化程序功能。
public class SomeUnUsefulClass:IEnumerable
{
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
public void Add(int i)
{
//It does not do anything.
}
}
像,
SomeUnUsefulClass cls=new SomeUnUsefulClass(){1,2,3,4,5};
完全有效。