我还是弄不明白,请高手指点!
我还是弄不明白,请高手指点!
楼主SphereEGO()2002-10-22 11:58:49 在 .NET技术 / C# 提问 说我的引用错误
大家帮忙哈
using System;
class Element
{
private int i ;
public void addi()
{
i++;
}
}
class arrElement
{
public Element ;
}
}
namespace ConsoleApplication2
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string.addi( );
}
}
} 问题点数:20、回复次数:8Top
1 楼sinsky(十方)回复于 2002-10-22 12:22:51 得分 0
呵呵
class Element
{
private int i ;
public void addi()
{
i++;
}
}
在这儿,你的i还没有初始化啊
用private int i = 0;试试Top
2 楼imzj()回复于 2002-10-22 12:27:55 得分 0
每个变量在使用前必须初始化,这是C#的基本规则!Top
3 楼SphereEGO()回复于 2002-10-22 16:06:56 得分 0
楼上的2个兄弟,谢谢,可是我做了initiallize还是一样
而没初始化,是自动初始化为0吧
请帮忙调试一下,它会说什么引用错误,谢谢哦Top
4 楼idiotzeng(白痴)回复于 2002-10-22 16:13:02 得分 0
把前面两个类的定义放到ConsoleApplication2命名空间里试试Top
5 楼coolbye(变形虫)回复于 2002-10-22 16:31:02 得分 0
创建对象数组时,
arr = new Element
只是让arr引用到一个对象数组,并没有对对象数组的每一个元素创建对象。
正确的做法是:
arr=new Element;
for (int j=0; j<i; j++)
arr = new Element();Top
6 楼SphereEGO()回复于 2002-10-22 17:33:19 得分 0
ha,终于明白了,谢谢
觉得有点别扭,我记得在C++,是直接 创建了 arr里面的每个元素的吧
那现在
“arr = new Element
只是让arr引用到一个对象数组,并没有对对象数组的每一个元素创建对象。”
这个数组对象存在有什么意义哦
望指教,谢谢Top
7 楼coolbye(变形虫)回复于 2002-10-22 17:49:09 得分 20
不要忘了给分哦!!!
当然有意义,对一维数组当然看不出来,如果是多维数组呢?
首先在C++中,多维数组的维数是固定的,像a就是有10*10个元素。
而在C#中,多维数组的维数可以不相等。如果 arr = new Element这样表示就声明了所有的元素的话,那这样
classname arr;
arr = new classname;
是表示什么呢?Top
8 楼SphereEGO()回复于 2002-10-22 18:40:21 得分 0
好!豁然开朗!谢谢
现在给分Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
