2014-10-16 127 views
0

我有一些問題,爲什麼C#不喜歡coordinates[j]部分,我可以做些什麼。如何擺脫編譯錯誤:C#使用未分配的局部變量?

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]); 
    } 
} 
+3

你還沒有在座標[]中分配任何空間...... – 2014-10-16 23:44:08

回答

5

你賦值的coordinates元素,而無需實際分配存儲第一

double[] coordinates = new double[6]; 

到目前爲止,你剛纔說的coordinates是雙打的數組的引用,但是你有沒有說如何大,數組是(您沒有分配任何存儲空間)。

+0

實際上,原始代碼甚至沒有說'coordinates'是雙精度數組,只是它是對雙精度數組的引用,但沒有數組。 – Guffa 2014-10-16 23:50:14

+0

非常感謝 – SwimBikeRun 2014-10-17 00:00:05

相關問題