2016-09-22 35 views
-2

所以在这里首先是我做了类:如何填充包含数组的对象列表?

public class Module 
{ 
    public string name = ""; 
    public string modDesc = ""; 
    public string[] chdesc = new string[8]; 
    public string[] tag = new string[8]; 
    public string[] address = new string[8]; 
} 

现在,我试图让这些模块列表,像这样:

List<Module> moduleList = new List<Module>();

,当它涉及到填充这个名单,我想这样做:

moduleList.Add(new Module { name = "1734-IB4D", modDesc = "4-CH Diagnostic Input Module", address[0] = "this doesnt work"});

address[0] = "this doesnt work"的最后一个属性会引发错误。我如何初始化一个新的Module对象并将其添加到我的列表中呢?我需要提前构建数组,然后将其添加到上面的示例中吗?你有什么建议?

+1

是这个c#或java? –

+1

好问题@ DanielA.White,我也想知道:) – d3r1ck

+1

@Capn,在标签部分添加语言,以便为那些帮助您的人减轻负担。 – d3r1ck

回答

0

找到了我自己的问题的答案。与其将每个条目设置为添加部分中的变量,我会将数组值设置为与另一个数组相等。因此,我结束了是:

string[] someArray = { "1", "2", "3' }; moduleList.Add(new Module { name = "1734-IR2", modDesc = "2-CH RTD Input Module", address = someArray });

这似乎很好地工作。如果有人知道如何正确地做我以上的尝试,那么请在这里发布。很高兴有选择。

+0

你不能在初始化器中做你想做的事情。您必须在初始化课程后设置它。 –

+0

@DStanley - 你应该可以在一行中做到这一点:'moduleList.Add(new Module {name =“1734-IR2”,modDesc =“2-CH RTD Input Module”,address = new [] { “1”,“2”,“3”}});' – Icemanind

+0

@Icemanind是的,但是这是分配一个_new_数组到属性。 OP希望保留在字段初始值设定项中创建的数组,并将项目0设置为特定值。 –

1
List<Module> moduleList = new List<Module>(); 

Module _module = new Module(); 
_module.name = "1734-IB4D"; 
_module.modDesc = "4-CH Diagnostic Input Module"; 
_module.address[0] = "this doesnt work" 

moduleList.Add(_module); 
+0

这并不能帮助我,因为我需要添加很多这些模块,并且我不知道需要多少我需要在第一个列表中使用地点。感谢您的回复! –