前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#之 对象数组

C#之 对象数组

作者头像
全栈程序员站长
发布2022-09-14 16:08:48
4260
发布2022-09-14 16:08:48
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。 万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。 数组,就是变量中元素的集合,详见本人之前写的: C#之 数组的理解和使用

第一种: 常规的写法 string[] xxx = {} 例如我们写一个名字集合的数组:

代码语言:javascript
复制
            string[] name =new string[] { 
   "小白","小黑","小明"};//可以简写为:tring[] name = {"小白","小黑","小明"};
            for (int i = 0; i < name.Length; i++)//用for循环将数组里面的名字打印出来
            { 
   

                Console.WriteLine(name[i]);
            }
            Console.Read();

结果为:

若果我们不仅仅要查看一个人的姓名,还要查看他的性别、年龄、班级等相关的个人信息,这个时候我们该如何解决呢?我们首先想到我们可以再定义一个数组,比如 int[] age = {};这样,虽然可行,但是有一个弊端,由于定义的数组是独立的,一旦某一个元素发生变化,而对应的另外一个元素不会随之而改变,容易出现错误的信息。

这个时候我们可以定义一个模板,也就是定义一个类,例如先添加一个 Student 的类:

代码语言:javascript
复制
    /// <summary>
    /// 学生类,可以理解为模板
    /// </summary>
    public class Student//定义一个公共的类
    { 
   
        public string Name;
        public string Class;
        public int Age;
        public string StudentNo;
    }

这个时候我们调用这个类:

代码语言:javascript
复制
            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();

结果为:

我们也可以这样写:

代码语言:javascript
复制
            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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档