没有指定大小的C#数组 - c#

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

例如,我有以下用于存储故障信息的结构,但是在测试开始时我不知道会发生多少故障。可以是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 ...
像这样使用它:

//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);

Java中的python struct.unpack - java

我对Python很陌生,一直在尝试在Java中移植python脚本。一段时间以来,我一直坚持下面的代码逻辑,试图将其转换为Java,但未能这样做(可能是因为我误解了实际所做的事情)data = unpack('>H', file.read(2)) if data == 0xffff then //do something else …

List.contains()没有返回正确的结果,但是手动搜索确实 - java

我的代码发生了一个奇怪的问题: RestAPIHeader requestedBy = new RestAPIHeader("X-Requested-By", "test"); // Act RestAPIRequest req = prepareLoginRequest(USER_NAME, PASSWORD); /…

List.Add()在C#中不起作用-吸气剂和吸气剂问题? - c#

我有这个属性:public virtual List<FieldImage> Images { get; set; } 如果我去获取具有此属性的类,则使用这样的实体从数据库中获取...Field field = this.unitOfWork.FieldRepository.GetByID(Convert.ToInt32(fieldID)); 然…

Java-固定大小的列表与指定初始容量的列表之间的差异 - java

我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…

Python list.insert()多索引/列表列表 - python

出于性能原因,我想使用Python列表insert()方法。我将说明原因:我的最终列表是31k * 31k矩阵:w=31*10**3 h=31*10**3 distance_matrix = [[0 for x in range(w)] for y in range(h)] 我打算一次更新一次矩阵:for i in range(len(index)): fo…