我想定义一个包含StopWatch的结构,然后是一个struct数组。
struct SWExecutionTime
{
public Stopwatch swExeTime;
public int intSWRecCount;
public double dblSWResult;
}
SWExecutionTime[] SWExeTime = new SWExecutionTime[10];
当我尝试执行此操作时,它会显示运行时错误System.NullReferenceException
:
SWExeTime[0].swExeTime.Start();
intSWRecCount
和dblSWResult
的初始值为零,因此我不需要使用构造函数来初始化这些变量。唯一需要初始化的变量是swExeTime(显然)。当我使用没有任何输入参数的构造函数时,C#也会显示错误Structs cannot contain explicit parameterless constructors
。
我该如何解决这个问题?
答案 0 :(得分:3)
使用一个类,为什么你会坚持使用结构?
class SWExecutionTime
{
public Stopwatch SWExeTime { get; } = new Stopwatch();
public int SWRecCount { get; } = 0;
public double SWResult { get; } = 0;
}
另外,请遵循命名的最佳做法。