
戏说C#中的“数组”
编程语言也是一个语言,而这个语言是用来描述我们人类现实中的现象的。而且对于人类某些特殊的现象,人类给这些现象起了特殊的名字,那在计算机里面也是这样,也给他们起了特殊的名字,比如数组 (英文叫 Array) 就是这样的。
数组,相当于一个代号,比如军队会给自己的某一次行动起一个代号,比如叫“沙漠之鹰”行动,而且这个行动有一个特殊的使命,里面有特殊的符合某个特质的人才能进去。
数组也是指代一个具有特殊结构的一个东西,什么特殊结构呢?它非常类似军训的时候,要排队,这个队伍,就非常类似数组。
1. 这个东西是由一排元素顺序的构成。他里面的元素可以是任何基本类型的元素,比如是int, float, object, 但是必须是同类型的元素。这个就类似军队里面,必须是男生和男生一排,女生和女生一排,不能混编。
2. 这一串东西要有一个固定长度,定下来之后就不能随便改了,类似排队的时候10人一队。定下来之后,对这一串元素,每个元素给一个序号,这个序号从0开始排序,序号为:0,1,2,3 这样排序,可以通过序号来指明是谁。就像队伍排队一样,报号,从0开始报号。喊道3号出列的时候,就是序列号为3的出来。为啥要编号呢?因为我不想记住你的名字,我也记不住!我就让你记住你的号码,我喊号码,你就出来了,这不是很快么?计算机不就是要效率么!军队不也是要效率么!?
好,大家看到上面这个数组其实就是对现实中队伍这种现象的一个抽象。那计算机里面为了描述这种队伍,就用了array数组这个词。那计算机用计算机语言具体怎么描述呢?
int[] ManArray; //这个就是对队伍的描述,int[], 表明,这是一个int类型的队伍,就是一个元素类型名,同时在右边加一对中括号,然后再给这个队伍一个名字,比如叫 ManArray;这就是一个对队伍的定义,但是定义的时候不定义队伍长度。意思就是类似说:我们要排一个男生队伍。
那我要给这个队伍放进去具体的人了,应该怎么办呢?
ManArray = new int[] {3, 4, 6, 8, 3, 5}; // 这样就可以了。 我们用new 这个词来表示产生一个新的东西,具体产生什么样的东西,就把这个类型放在new 后面,比如这里写成 new int[], 因为int[], 表示的是int型的数组。 而具体的元素,我们用大括号括起来,里面用逗号分开。我们就这么做,至于为什么这样写,这个就是规定这么写的。
那,当我要使用这个队伍里面的某个元素的时候,我怎么用呢? ManArray[3], 就把这个人叫出来了。
Console.WriteLine(ManArray[3]) //这就打印这个元素了,而这个结果是几呢?结果就是:8. 他是序号为3的元素。
而如果你要放进去的不是int, 而是某一个class类型,那也是一样的。
public class People
{
public string FirstName;
public string LastName;
}
People Allen = new People()
{
FirstName = “Allen”,
LastName = “Zhang”
}
People Lisa = new People()
{
FirstName = “Lisa”,
LastName = “Liu”
}
People[] team = new People[2] {Allen, Lisa}
Console.WriteLine(team[1].FirstName) 这个就会打印出 Lisa