大家好,又见面了,我是你们的朋友全栈君。
对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。 万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。 数组,就是变量中元素的集合,详见本人之前写的: C#之 数组的理解和使用
第一种: 常规的写法 string[] xxx = {} 例如我们写一个名字集合的数组:
string[] name =new string[] {
"小白","小黑","小明"};//可以简写为:tring[] name = {"小白","小黑","小明"};
for (int i = 0; i < name.Length; i++)//用for循环将数组里面的名字打印出来
{
Console.WriteLine(name[i]);
}
Console.Read();
结果为:
若果我们不仅仅要查看一个人的姓名,还要查看他的性别、年龄、班级等相关的个人信息,这个时候我们该如何解决呢?我们首先想到我们可以再定义一个数组,比如 int[] age = {};这样,虽然可行,但是有一个弊端,由于定义的数组是独立的,一旦某一个元素发生变化,而对应的另外一个元素不会随之而改变,容易出现错误的信息。
这个时候我们可以定义一个模板,也就是定义一个类,例如先添加一个 Student 的类:
/// <summary>
/// 学生类,可以理解为模板
/// </summary>
public class Student//定义一个公共的类
{
public string Name;
public string Class;
public int Age;
public string StudentNo;
}
这个时候我们调用这个类:
Student stu1 = new Student();
stu1.Age = 18;
stu1.Name = "小白";
stu1.StudentNo = "A001";
stu1.Class = "计算机一班";
Student stu2 = new Student();
stu2.Age = 17;
stu2.Name = "小明";
stu2.StudentNo = "B001";
stu2.Class = "计算机二班";
Student stu3 = new Student();
stu3.Age = 18;
stu3.Name = "小黑";
stu3.StudentNo = "B002";
stu3.Class = "计算机二班";
Student[] students = new Student[] {
stu1, stu2, stu3 };//也可以直接简写,直接写大括号
Console.WriteLine("该生名字为:{0},年龄为:{1},班级为:{2},学号为:{3}",stu1.Name,stu1.Age, stu1.Class,stu1.StudentNo);//输出stu1的信息
Console.Read();
结果为:
我们也可以这样写:
Student stu1 = new Student();
stu1.Age = 18;
stu1.Name = "小白";
stu1.StudentNo = "A001";
stu1.Class = "计算机一班";
Student stu2 = new Student();
stu2.Age = 17;
stu2.Name = "小明";
stu2.StudentNo = "B001";
stu2.Class = "计算机二班";
Student stu3 = new Student();
stu3.Age = 18;
stu3.Name = "小黑";
stu3.StudentNo = "B002";
stu3.Class = "计算机二班";
Student[] students = new Student[40];//声明数组个数
students[0] = stu1;//直接赋值
students[1] = stu2;
students[2] = stu3;
for (int i = 0; i < students.Length; i++)
{
Student stu = students[i];
if (stu != null)//由于我们是声明40个变量,而我们只写了三个,所以循环到三个后面就会报错,因此需要判断是否为空来输出结果
{
Console.WriteLine("该生名字为:{0},年龄为:{1},班级为:{2},学号为:{3}", stu.Name, stu.Age, stu.Class, stu.StudentNo);
}
}
Console.Read();
结果为:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158274.html原文链接:https://javaforall.cn