如何摆脱编译错误:C#使用未分配的局部变量?

Swi*_*Run 0 c# compiler-errors unassigned-variable

我有一些问题,为什么C#不喜欢这coordinates[j]部分以及我能做些什么.

string[] lines = System.IO.File.ReadAllLines(@"C:\Users\sp\Dropbox\ProjectEuler\102\p102_triangles.txt");
string[] coordinates_str;
double[] coordinates; //Contains the coordinates for each line A1(x,y), A2(x,y), A3(x,y)
long ln = lines.Length;
Console.WriteLine("Length: " + ln.ToString());
for (int i = 0; i < ln; i++)
{
    Console.Write(i);
    Console.Write(lines[i]);
    coordinates_str = lines[i].Split(',');
    for (int j = 0; j < 6; j++)
    {
        coordinates[j] = Convert.ToDouble(coordinates_str[j]);
    }
}
Run Code Online (Sandbox Code Playgroud)

Eri*_* J. 5

您可以先为元素分配值,coordinates而不先实际分配存储

double[] coordinates = new double[6];
Run Code Online (Sandbox Code Playgroud)

到目前为止,你刚才说的coordinates是对双数组的引用,但是你没有说过那个数组有多大(你没有分配任何存储空间).