配列を正しく設定していないと思いますが、実際に新しい配列値をcolor_table配列に設定する行(表示されているものの7行目と12行目である必要があります)に到達すると、「nullreferenceexception」がスローされます。下)。それが機能するようにこれをどのように書くべきですか?
public int[] colors = new int[] { 0, 255, 0, 255, 0, 255 };
private int[][] color_table;
public void setcolors()
{
this.color_table[0] = new int[] { 0, 0, 0 };
for (int i = 1; i <= this.precision; i++) {
int r = (((this.colors[1] - this.colors[0]) * ((i - 1) / (this.precision - 1))) + this.colors[0]);
int g = (((this.colors[3] - this.colors[2]) * ((i - 1) / (this.precision - 1))) + this.colors[2]);
int b = (((this.colors[5] - this.colors[4]) * ((i - 1) / (this.precision - 1))) + this.colors[4]);
this.color_table[i] = new int[] { r, g, b };
}
}
配列を使用する前に、その長さで配列を初期化する必要があると聞いたことがありますが、a)その方法がわかりません。b)問題があるかどうかはわかりません。問題は、配列の長さがわからないことです。私はこれを無駄に試しました:
private int[this.precision][3] color_table;
ありがとう!