スクロールバーイベントに彼のコードがあります:
if (_fi.Length > 0)
{
myTrackPanelss1.trackBar1.Minimum = 0;
myTrackPanelss1.trackBar1.Maximum = _fi.Length - 1;
tt = list_of_histograms[myTrackPanelss1.trackBar1.Value];
HistogramGraphs1.DrawHistogram(tt);
long res = GetTopLumAmount(tt, 1000);
long max = GetHistogramMaximum(tt);
GetHistogramAverage(tt);
setpicture(myTrackPanelss1.trackBar1.Value);
this.pictureBox1.Refresh();
}
次の変数が定義されています。
_fi = FileInfo[]
tt = long[]
list_of_histograms = List<long[]>
バーを右端に移動すると、フレーム 1047 になり、例外がスローされます。例外がスローされると、次のことがわかります。
_fi.Length = 1049
(-1 なので 1048) 0 から始まる場合は 0 から 1047 のようになります)
list_of_histograms.Count = 1048
myTrackPanelss1.trackBar1.Value = 1048
私は、例外が何を意味するのかを知っています。質問は、私が長さをしている場合、なぜそれが起こったの_fi.Length - 1
ですか?