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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Git远程仓库地址变更本地如何修改[通俗易懂]

    Git远程仓库地址变更本地如何修改

    2022年2月14日
  • Java冒泡排序代码实现

    Java冒泡排序代码实现Java冒泡排序代码实现原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。举例说明:要排序数组:int[] arr={6,3,8,2,9,1};…

    2022年6月29日
  • Linux 删除文件夹

    Linux 删除文件夹inux删除目录很简单,很多人还是习惯用rmdir1.直接rm就可以了:rm-rf目录名字-r就是向下递归,不管有多少级目录,一并删除-f就是直接强行删除,不作任何提示的意思

    2022年7月4日
  • BetterIntelliJ-1.19 通用激活码-激活码分享

    (BetterIntelliJ-1.19 通用激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
  • 对数似然值 matlab,matlab aic准则 怎么计算对数似然值

    对数似然值 matlab,matlab aic准则 怎么计算对数似然值匿名用户1级2016-11-22回答BIC需要三个inputs(LLF,numParams,numObs)*******************%AICBICAkaikeandBayesianinformationcriteriaformodelorderselection.%modelsoftheconditionalmeanandvariance…

    2022年5月23日
  • springboot启动时是如何加载配置文件application.yml文件

    springboot启动时是如何加载配置文件application.yml文件今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!!spring加载配置文件是通过listener监视器实现的,在springboot启动时:在容器启动完成后会广播一个SpringApplicationEvent事件,而Spri…

    2022年9月6日

发表回复

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

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