public  struct Coord2D
    {        double x;
        double y;
        public Coord2D(double _x,double _y) 
        {
            x = _x;
            y = _y;
        }
        public double X
        {
            get { return x; }
            set { x = value; }
        }
        public double Y
        {
            get { return y; }
            set { y = value; }
        }
       
    }
public   class DELAUNAY
    {
      public  TMAP Tmap;
      public int[] insert_order; 
        
   //预处理
      ///public void PreProcess(TestTriangles.datastructure.Coord2D p, int N);
      //public int LocatePoint(int[] cT, int i);
      //public void AddPoint(int idt,int i);
      //public  void flip(int T1);
      //public void BucketPoints(double[] bbox
      double[] aa = new double[500000];
      public Coord2D[] p;
      public Triangle[] t;
      private int np;
      private int ct;      //public  void PrintStatistics();
      //public DELAUNAY();
      //public ~DELAUNAY();
     
      //public int Triangulate(double[] inputp, int inputnp);
      //public void FreeMemory();
      
      public int NP
      {
          get { return np; }
          set { np = value; }
          
      }
      public int CT 
      {
          get { return ct; }
          set { ct = value; }
      }
    }    在DELAUNAY定义了  public Coord2D[] p; 怎样去给它赋值??

解决方案 »

  1.   

    为什么定义类呢,这多累啊,用new关键字能不能实例化结构体啊,还是要用结构体变量,和LZ一起等解释
      

  2.   

                Coord2D c = new Coord2D();
                p = new Coord2D[] { c};
      

  3.   

    楼上正解
    或者用匿名变量
    p = new Coord2D[] { new Coord2D(1,1),new Coord2D(2,2)};
      

  4.   

    这个是错误的, 默认没有构造函数的,必须这样的  Coord2D c = new Coord2D(1.2,3.0);
      p = new Coord2D[] { c};
    或者
      Coord2D[] p = new Coord2D[] { new Coord2D(1,1),new Coord2D(2,2)};
      

  5.   

     p = new Coord2D[]{new Coord2D(1,1)};

    Coord2D  paa = new Coord2D(1.123,1.456);
    p = new Coord2D[]{paa};
    当程序运行时结果是p为null。
    都不行啊
    各位坛友在看看吧。。