以下是一段似乎在 c# 中不起作用的代码,即使它在 c++ 中似乎可以接受。C# 似乎对对象实例化有不同的标准。
IList<PointF> vertices = null;
float radius = (int)(bitmap.Width/3);
for (double theta = 0; theta < 2 * 3.14; theta += 0.1)
{
PointF temp = new PointF();
temp.X = centre.X + radius*((float)(Math.Cos(theta)));
temp.Y = centre.Y + radius*((float)(Math.Sin(theta)));
vertices.Add(temp);
}
其中 IList 是一个接口,PointF 是一个结构。Tbh 我不知道实现接口与类时的区别。
如果我不将“null”分配给顶点,则代码不会编译。但是,如果我确实分配了 null,那么在运行时我会收到一个错误“对象实例未设置为对象的引用”(因为顶点被声明为 null)。我怎样才能绕过这个错误?