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

时间:2015-10-13 21:10:30

标签: c# struct stopwatch

我想定义一个包含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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

使用一个类,为什么你会坚持使用结构?

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

另外,请遵循命名的最佳做法。