C#中把一个类定义为一个数组?

按照书上的做的,但是并没有太详细的解释,下面这句请教下:Computer[]com=newComputer[3]这个Computer是一个类,类里面有封装的字段named... 按照书上的做的,但是并没有太详细的解释,下面这句请教下:
Computer[] com = new Computer[3]
这个Computer是一个类,类里面有封装的字段 name dy id,分别是 名称 日期 id,然后分赋值
com[0].name = "惠普";
com[0].dy = "2009-10-5";

com[1].name = "戴尔";
com[1].dy = "2009-10-5";

com[2].name = "苹果";
com[2].dy = "2009-10-5";
书上没有解释Computer[] com = new Computer[3]这样写是什么意思,
我觉得是数组,但computer是类,类也可以定义为数组吗?
这样运行错误,提示没有给数组赋值,必须要下面这样写才对;

Computer[] com = new Computer[3]
{
new Computer(),
new Computer(),
new Computer()
};

请教下!
展开
 我来答
正怒月神
2012-04-25 · TA获得超过1157个赞
知道小有建树答主
回答量:710
采纳率:100%
帮助的人:503万
展开全部
来来,我解释一下
看见过 int []a=new int[3]吗?
其实 就是 声明一个数组,类型是int型
Computer[] com = new Computer[3]
显而易见 声明了一个数组,类型是Computer
只不过 Computer是个对象
这个数组的每个元素都是一个Computer对象,对象有name,dy属性罢了
对不对?
万物皆对象= =

当然你要给 这个数组赋值的话
肯定要 把这个 对象先New出来
Computer c=New Computer();
c.name="gaga";
c.dy="123";
com [0]=c;
lkw225657
推荐于2017-09-11
知道答主
回答量:33
采纳率:0%
帮助的人:10.9万
展开全部
1.类可以定义为数组。
2.使用时可需要先对数组内初始化:
Computer[] com = new Computer[3];
com[0]=new Computer();
com[0].name = "惠普";
com[0].dy = "2009-10-5";
如果没有com[0]=new Computer();
com[0].name = "惠普";这句就会出错。
更多追问追答
追问
就是说这个我自定义的类可以声明为数组,但是要用的话必须要先初始化,这个 new Computer() 是初始化的简写吗?还有个问题,控件可以声明为数组吗?比如这样:
Label[] lbg = new Label[engineers.Length]; //一个Label控件,它的数组长度是engineers数组的长度,然后: lbd[i] = new Label(); lbd[i].Text = engineers[i].Name;
在窗体中并没有任何label控件,但是在下面有这样的代码:
this.Controls.Add(lbd[i]);
追答
控件也可以作为数组的成员,Controls.Add方法添加前应设定好位置以及尺寸
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-04-25 · TA获得超过260个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:63.1万
展开全部
c#里面都可以理解为类
string[] strArr = new string[]{};
这句话没啥问题吧?
string本身也是类,string其实是String的别名,为了减少程序员的代码量
比如int 其实就是Int32的别名
Computer 也是类,所以是可以的这样写的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bambuz
2012-04-25 · TA获得超过168个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:317万
展开全部
这样定义并初始化:
Computer[] com = new Computer[3]()
{
new Computer(){name = "惠普",dy = "2009-10-5"}
new Computer(){name = "戴尔",dy = "2009-10-5"},
new Computer(){name = "苹果",dy = "2009-10-5"},
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wfe52lzh
2012-05-03 · TA获得超过572个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:109万
展开全部
c#强烈建议使用泛型
List<Computer> listComputer = New List<Computer>();
Computer com = New Computer();
com.name = "惠普";
com.dy = "2009-10-5";
listComputer.Add(com);
com.name = "戴尔";
com.dy = "2009-10-5";
listComputer.Add(com);
com.name = "苹果";
com.dy = "2009-10-5";
listComputer.Add(com);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式