c#使用未指定的局部变量或未设置为引用的对象实例? 下面是一段代码,虽然在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顶点=null; 浮动半径=(int)(位图宽度/3); 对于(双θ=0;θ

c#使用未指定的局部变量或未设置为引用的对象实例? 下面是一段代码,虽然在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顶点=null; 浮动半径=(int)(位图宽度/3); 对于(双θ=0;θ,c#,object,null,instantiation,C#,Object,Null,Instantiation,其中IList是一个接口,PointF是一个结构。Tbh我不知道实现接口和类的区别 如果我没有将“null”赋值给顶点,代码就不会编译。但是,如果我分配null,那么在运行时我会得到一个错误“对象实例未设置为对象的引用”(因为顶点被声明为null)。如何避免此错误?您必须实例化列表实例: IList<PointF> vertices = new List<PointF>(); IList顶点=新列表(); 您必须实例化列表实例: IList<PointF>

其中IList是一个接口,PointF是一个结构。Tbh我不知道实现接口和类的区别


如果我没有将“null”赋值给顶点,代码就不会编译。但是,如果我分配null,那么在运行时我会得到一个错误“对象实例未设置为对象的引用”(因为顶点被声明为null)。如何避免此错误?

您必须实例化列表实例:

IList<PointF> vertices = new List<PointF>();
IList顶点=新列表();

您必须实例化列表实例:

IList<PointF> vertices = new List<PointF>();
IList顶点=新列表();

尝试为实现IList的顶点创建实例,例如:

IList<PointF> vertices = new List<PointF>();
IList顶点=新列表();

尝试为实现IList的顶点创建实例,例如:

IList<PointF> vertices = new List<PointF>();
IList顶点=新列表();

您应该将列表声明更改为:IList vertices=new list();您应该将列表声明更改为:IList vertices=new list();