c# 中的多段线数组不会运行

polyline array in c# won't run

我正在尝试创建一个多段线数组,以便最终用户可以根据需要向他的 canvas 添加尽可能多的多段线,代码将无法运行,调试时它写道:"Exception has been thrown by the target of an invocation." 这是代码的一部分

Polyline[] linije = new Polyline[10];        
linije[0].Stroke = System.Windows.Media.Brushes.Black;           
linije[0].StrokeThickness = 1;        
linije[0].Points = poli.Points;          
canvas1.Children.Add(linije[0]);

您有空引用异常,因为您没有在数组的元素 0 中创建 Polyline 实例。

Polyline[] linije = new Polyline[10];     
linije[0] = new Polyline();  // Create the Polyline object!!!
linije[0].Stroke = System.Windows.Media.Brushes.Black;           
linije[0].StrokeThickness = 1;        
linije[0].Points = poli.Points;          
canvas1.Children.Add(linije[0]);

请记住,创建特定类型的数组不会为该数组中的每个元素创建对象。您可以使用 the debugger 轻松发现它。如果您在行 Polyline[] linije = new Polyline[10] 之后添加一个断点,并为 linije[0] 添加一个监视,您将看到它为空。