-4
我想定義一個包含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
。
我該如何解決這個問題?
'新的SWExecutionTime()'只實例化結構;它不會在結構中創建一個新的秒錶對象。如果你想這樣做,爲該結構編寫一個構造函數,或者提供一個默認實例。 –
構造函數與數組?爲什麼降級? – NESHOM
我不知道這意味着什麼。沒有某種結構,沒有希望在那裏有秒錶物體。請記住,'int'和'double'是原始類型;編譯器可以爲它們假定默認值爲零。 StopWatch類也是如此。 –