没有指定大小的C#数组

时间:2017-03-07 15:16:13

标签: c# arrays list struct

当我不知道元素的确切数量时,我有一个关于在C#中创建数组的问题。我发现了多个相似的问题,例如this one。建议使用List而不是Array。在该示例中以及在所有其他示例中,我已经看到它实例化了一个'字符串列表。我可以用结构做同样的事吗?

例如,我有以下用于存储故障信息的结构,但我不知道在测试开始时会发生多少次故障。它可能是0,可能是数百。

    public struct EraseFailures
    {
        public string timestamp;
        public string bus;
        public string channel;
        public string die;
        public string block;
    }

那么我也可以创建这些列表吗?

    List<EraseFailures> eFails = new List<EraseFailures>();

它编译得很好,但我想确保这是最好的方法。如果是,将值添加到我的列表的语法是什么?因为以下看起来并不正确......

     eFails.bus.Add("bus0");

似乎我可能必须使用我想要的值创建一个新结构,然后将其添加到List中。

1 个答案:

答案 0 :(得分:5)

如果我确实理解了你,你就会问如何使用键入的List ... 像这样使用它:

//init list
List<EraseFailures> fails = new List<EraseFailures>();

//make instance of EraseFailuers struct
EraseFailures f = new EraseFailures();
//add data
f.bus = "bus01";
f.channel = "somechannel";
//etc
fails.Add(f);