C#之 对象数组

对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。
万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。
数组,就是变量中元素的集合,详见本人之前写的:
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();

结果为:
在这里插入图片描述

  • 12
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值