类内结构中的整数数组

问题描述 投票:0回答:1

我有一个实例化大小为 4 的多维结构的类,该结构本身有一个 6 的整数数组。它可以编译,但在调试时看不到该数组,并收到常见错误“对象引用未设置为一个实例”对象'。

public class sInfo
{
    public int A { get; set; }

    public int B { get; set; }

    public tsTABLE[] Tables = new tsTABLE[4];
}

public struct tsTABLE
{
    public int[] C = new int[6] { 0, 1, 2, 3, 4, 5 };
    public int Count { get; set; }                    
            
    public tsTABLE()
    {
    }
}

我可以看到 Count 和 C 变量,但 C 数组为空并且没有索引。我已将结构更改为类但无济于事。

有人知道我哪里出错了吗?

c#
1个回答
0
投票

tsTABLE 结构体需要初始化。 当您定义结构体时,会自动提供默认构造函数,并且它不会初始化字段。

public struct tsTABLE {
public int[] C; 
public int Count { get; set; } 
public tsTABLE() { 
C = new int[6] { 0, 1, 2, 3, 4, 5 }; 
Count = 0; 
} 
}
© www.soinside.com 2019 - 2024. All rights reserved.