请大家帮忙看看下面的一小段关于对象数组的程序
我在写个程序时,遇到这样的问题,现把它简化出来..代码如下:
private class B        //如果是 private struct B  就可以...为什么????
         {
             private int a;
             public int A
             {
                 get
                 {
                     return a;
                 }
                 set
                 {
                     a = value;
                 }
             }
         }
  private void Form1_Load(object sender, EventArgs e)
         {             
             B[,] b = new B[4, 4];   
             b[0, 0].A = 2;                                 
         }
运行时,提示错误为: "
未将对象引用设置到对象的实例.",如果改为 private struct B 就没有问题,为什么会出现这样的错误啊..谢谢!!~~~
------解决方案--------------------你只new了数组,而没有new类的实例  
  B[,]   b   =   new   B[4,   4];    
这里你new了数组
但是数组的元素  b[0,   0]只是B对象的实例的引用,它并没有被实例化  
b[0,   0]=new B();应该就可以了
------解决方案--------------------对象数组当然是对象的
下面代码参考一下:
public class MyClass
{
	private class B
   {  
      private   int   a;  
      public   int   A  
      {  
          get {return   a; }  
          set {a   =   value; }  
      }  
   }  
	public static void Main()
	{
		B[,] b =new B[4,   4];    
       b[0,0] =new B();  
		b[0,0].A=1;
		Console.WriteLine(""+b[0,0].A);
		Console.Read();
	}	
}
------解决方案--------------------只能是实数型的才可以B[,];Class is not a Value Type.
------解决方案--------------------对像实例化一样就可以的