c#使用未分配的局部变量或对象实例未设置为引用?

use*_*113 0 c# null object instantiation

以下是一段似乎没有在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);
                }
Run Code Online (Sandbox Code Playgroud)

IList是一个接口,而PointF是一个结构.Tbh我不知道实现接口和类时的差异.

如果我没有为顶点指定"null",则代码不会编译.但是,如果我分配null然后在运行时我得到一个错误"对象实例未设置为对象的引用"(因为顶点被声明为null).我怎样才能解决这个错误?

Eri*_*oom 5

您必须实例化列表实例:

IList<PointF> vertices = new List<PointF>();
Run Code Online (Sandbox Code Playgroud)