【问题标题】:how to get rid of compiler error: C# use of unassigned local variable?如何摆脱编译器错误:C# 使用未分配的局部变量?
【发布时间】:2014-10-16 23:42:49
【问题描述】:

我有一些问题,为什么 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]);
    }
}

【问题讨论】:

  • 你没有在坐标[]中分配任何空间...

标签: c# compiler-errors unassigned-variable


【解决方案1】:

您将值分配给coordinates 的元素,而无需先实际分配存储空间

double[] coordinates = new double[6];

到目前为止,您刚刚说coordinates 是对双精度数组的引用,但您还没有说明该数组有多大(您还没有分配任何存储空间)。

【讨论】:

  • 其实原代码甚至没有说coordinates是一个双精度数组,只是说它是一个双精度数组的引用,但是没有数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
相关资源
最近更新 更多