C#自定义类数组的初始化问题

public class CMyclass //自定义了一个类
{
public int a = 1;
}
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int length=3;
CMyclass m = new CMyclass();//得到 m.a为1
CMyclass[] arr = new CMyclass[length];//自定义类数组的每一个元素都是null
int[] arr2 = new int[length];//系统的类却可以这样初始化,每个元素都是0
}
}
这是为什么

CMyclass[] arr = new CMyclass[3] 初始化三个元素的数组,每个元素都是 CMyclass 实例。
注意:这个语句初始的是数组,而不是三个数组元素的对象实例!数组初始化后,每个元素的值为null。
要初始化CMyclass[] arr的每个元素,还必须:
arr[0] = new new CMyclass();
arr[1] = new new CMyclass();
arr[2] = new new CMyclass();
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-15
CMyclass[] 是引用类型。
int[] 是值类型。本回答被提问者采纳
第2个回答  2013-10-15
你声明了没有赋值啊兄弟。引用默认null。int默认0.
相似回答