当前位置:编程学习 > C#/ASP.NET >>

ASP.net 数组报错


            TableRow [] Rws=new TableRow[8];
            TableCell [] Cls=new TableCell[8];

            Cls[0].Text ="aaaaaaaaaaaaaaaaaaaaa";
            Rws[0].Cells.Add(Cls[0]);
            Tb1.Rows.Add(Rws[0]);




编译时是没有问题的,但是到了运行时就弹出如图所示的报错,不懂为什么会这样了,也不懂怎么解决。 --------------------编程问答--------------------
	 TableRow [] Rws=new TableRow[8];
TableCell [] Cls=new TableCell[8];
 TableCell tc=new TableCell();
tc.Text ="aaaaaaaaaaaaaaaaaaaaa";
Cls[0]=tc;
--------------------编程问答--------------------  Table Tb1 = new Table();
        TableRow[] Rws = new TableRow[8];
        TableCell[] Cls = new TableCell[8];
        TableCell tc = new TableCell();
        tc.Text = "aaaaaaaaaaaaaaaaaaaaa";
        Cls[0] = tc;
        TableRow tr = new TableRow();
        Rws[0] = tr;
        Rws[0].Cells.Add(Cls[0]);
        Tb1.Rows.Add(tr); --------------------编程问答-------------------- 你定义的是一个数据 但是没实例化对象
以下为实例化对象代码
for (int i = 0; i <8; i++)
            {
                TableRow w = new TableRow();                                            
                for (int j = 0; j <8; j++)
                {
                    TableCell q = new TableCell();
                    q.Text = "aaaaa"; w.Cells.Add(q);                                                    
                }
            }  --------------------编程问答--------------------
引用 3 楼 liuxiaoni310 的回复:
你定义的是一个数据 但是没实例化对象
 


TableRow[] Rws = new TableRow[8];

TableRow w = new TableRow(); 
有什么区别啊?“TableRow[] Rws = new TableRow[8]”不是同时实例化8个TableRow么?“TableRow w = new TableRow()”不是实例化1个TableRow么?
我好乱啊,2年没编程了,基础都忘了。声明,定义和实例化是怎么样的? --------------------编程问答-------------------- 想想又想通啦,TableRow[] Rws = new TableRow[8];可以认为是定义了一个TableRow类数组的引用Rws,Rws每个元素又是一个TableRow类对象的引用。而没有实例化TableRow类。 --------------------编程问答--------------------
引用 5 楼 supermai 的回复:
想想又想通啦,TableRow[] Rws = new TableRow[8];可以认为是定义了一个TableRow类数组的引用Rws,Rws每个元素又是一个TableRow类对象的引用。而没有实例化TableRow类。

对的,你只实例化了这个数组而已,数组中TableRow对象为null,然后你用TableRow[0]去除的是一个空的TableRow对象,所以你对去属性赋值当然就会出现你的错误了 --------------------编程问答--------------------
引用 6 楼 lizhi3186575 的回复:
Quote: 引用 5 楼 supermai 的回复:

想想又想通啦,TableRow[] Rws = new TableRow[8];可以认为是定义了一个TableRow类数组的引用Rws,Rws每个元素又是一个TableRow类对象的引用。而没有实例化TableRow类。

对的,你只实例化了这个数组而已,数组中TableRow对象为null,然后你用TableRow[0]去除的是一个空的TableRow对象,所以你对去属性赋值当然就会出现你的错误了


补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,