C#之 对象数组

C#之 对象数组对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。第一种:常规的写法string[]xxx={}例如我们写一个名字集合的数组:string[]name=newstring[]{“小白”,”小黑”,”小明”};//可以简写为:tring[]nam…

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu copy命令「建议收藏」

    ubuntu copy命令「建议收藏」cp(copy)命令该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。语法:cp[选项]源文件或目录目标文件或目录说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。该命令的各选项含义如下:-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。-d拷贝时保留链接。

    2025年7月25日
    4
  • pycharm安装步骤2021_2021年上映时间表

    pycharm安装步骤2021_2021年上映时间表安装PyCharm2022教程下载安装PyCharm安装Python配置PyCharm环境使用PyCharmPyCharm界面介绍一、下载安装PyCharmpycharm在官网上的下载地址:2.专业版,社区版。建议安装专业版。下载文件会显示3.单击“安装”修改安装路径。建议安装磁盘C以外的位置。修改后,单击“下一步”。4.这里功能选项,全部勾选,或者根据自己需求选择;5.接下来,单击“安装”打开安装界面。二、安装Python如果您以前没有下载过Python解释器,则需

    2022年8月28日
    1
  • mysql自定义函数详解_mysqlinterval函数

    mysql自定义函数详解_mysqlinterval函数个人博客原文链接更多文章欢迎访问个人博客站点建定义函数的的基本语法如下–DELIMITER是用来设置边界符的DELIMITER//CREATEFUNCTION函数名(形参列表)RETURNS返回类型begin–函数体RETURNEND//DELIMITER;创建日期时间格式化函数DROPFUNCTIONIFEXISTS`FORMAT_DATE_TIME`;CREATE…

    2025年10月1日
    1
  • Django学习笔记一初识Django

    Django学习笔记一初识DjangoDjango学习笔记,入门Django框架

    2022年9月1日
    7
  • 关于计算机教育论文参考文献,计算机教育论文参考文献范文 哪里有计算机教育参考文献…

    关于计算机教育论文参考文献,计算机教育论文参考文献范文 哪里有计算机教育参考文献…

    2021年11月27日
    49
  • tracert原理及其实现_tracert第一个地址是什么

    tracert原理及其实现_tracert第一个地址是什么Tracert用于测试数据包从发送主机到目的地所经过的网关,它主要用于检查网络连接是否可达,以及分析网络什么地方发生了故障.Tracert的执行过程是:首先发送一个TTL为1的数据包,因此第一跳发送回一个ICMP错误消息以指明此数据包不能被发送(因为TTL超时)之后此数据包被重新发送,TTL为2,同样第二跳返回TTL超时,这个过程不断进行,直到到达目的地.执行这些过程的目的是记录每一个ICM

    2022年9月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号