我想要的是用字符串初始化的2D全局列表。 如果我只想要一个简单的列表,我可以使用逗号分隔的字符串初始化列表,如下所示
public static readonly List<string> _architecturesName = new List<string>()
{"x86","x64" };
我已经设置了一个静态类“Globals”,在这个类中,我正在添加一个基于另一个类“ArchitecturesClass”的List,用作列表的字段,类似于此处所做的:Are 2 dimensional Lists possible in c#? < / p>
public class ArchecturesClass
{ public string Id { get; set; }
public string Name { get; set; } }
`*test1->*` public static readonly List<ArchecturesClass> ArchitectureList =
new List<ArchecturesClass>() { "2", "9"};
`*test2->*` public static readonly List<ArchecturesClass> ArchitectureList =
new List<ArchecturesClass>() {architecturesId = "2",
architecturesName = "3"};
字符串上的错误是集合初始化有一些有效的参数和
最后,我希望项目中的所有类都能够读取类似Globals.ArchtecutreList.ID和匹配的Globals.ArchtecutreList.Name;
之类的东西,并且我想在全局类中初始化它,而不是在方法中。
答案 0 :(得分:19)
语法
new List<ArchecturesClass>() {architecturesId = "2",
architecturesName = "3"};
应该是
new List<ArchecturesClass>() { new ArchecturesClass>() { architecturesId = "2",
architecturesName = "3"}};
Collection initializers希望您提供列表中包含的类型的实例。
你的另一次尝试
public static readonly List<ArchecturesClass> ArchitectureList =
new List<ArchecturesClass>() { "2", "9"};
失败,因为“2”和“9”是字符串,而不是ArchitecturesClass
的实例。