结构不能包含显式无参数构造函数

本文关键字:参数 构造函数 不能 包含显 结构 | 更新日期: 2023-09-27 18:17:28

我想定义一个结构体,其中包括StopWatch和struct数组。

    struct SWExecutionTime
    {
        public Stopwatch swExeTime;
        public int intSWRecCount;
        public double dblSWResult;
    }
    SWExecutionTime[] SWExeTime = new SWExecutionTime[10];

当我尝试这样做时,它显示运行时错误System.NullReferenceException:

    SWExeTime[0].swExeTime.Start();

intSWRecCountdblSWResult的初始值为零,所以我不需要构造函数来初始化这些变量。唯一需要初始化的变量是swExeTime(显然)。当我使用没有任何输入参数的构造函数时,c#还显示了错误Structs cannot contain explicit parameterless constructors

我该如何解决这个问题?

结构不能包含显式无参数构造函数

使用类,为什么你坚持在结构体?

class SWExecutionTime
{
    public Stopwatch SWExeTime { get; } = new Stopwatch();
    public int SWRecCount { get; } = 0;
    public double SWResult { get; } = 0;
}

同时,遵循命名的最佳实践