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)
上一篇 2022年7月12日 下午10:46
下一篇 2022年7月12日 下午10:46


相关推荐

  • 黑盒测试——因果图法

    黑盒测试——因果图法方法简述 因果图法是一种适合于描述对于多种条件的组合 相应产生多个动作的形式的方法 利用图解法分析输入的各种组合情况 从而设计测试用例的方法 它适合检查程序输入条件的各种组合情况 其最终生成的结果是判定表 因果图法测试用例的设计步骤 1 确定软件规格中的原因和结果 分析软件规格说明中那些是原因 即输入条件或输入条件的等价类 哪些是结果 即输出条件 并给每个原因和结果赋予一个标识符 2 确

    2026年3月19日
    4
  • python和java哪个更值得学_java和python「建议收藏」

    python和java哪个更值得学_java和python「建议收藏」从去年到现在IA人工智能热度一直都是上升,而且很多有经验的程序员也打出“2018年不学习Python还能学习哪种编程语言“的口号,可对于初学者来说,Python相对比较简单。Python的语法类似于伪

    2022年7月5日
    26
  • 数据分析 第八篇:OLS回归分析

    数据分析 第八篇:OLS回归分析变量之间存在着相关关系 比如 人的身高和体重之间存在着关系 一般来说 人高一些 体重要重一些 身高和体重之间存在的是不确定性的相关关系 回归分析是研究相关关系的一种数学工具 它能帮助我们从一个变量的取值区估计另一个变量的取值 OLS 最小二乘法 主要用于线性回归的参数估计 它的思路很简单 就是求一些使得实际值和模型估值之差的平方和达到最小的值 将其作为参数估计值 就是说 通过最小化误差的平方和

    2026年3月19日
    3
  • Java学习之servlet篇

    Java学习之servlet篇0x00前言这里就后面正式步入到javaEE的阶段了,记录一下学习内容。0x01Java中间件在Java里面常用的几个中间件在这里列出来一下:*webSp

    2021年12月12日
    49
  • CreatePipe、CreateProcess函数

    CreatePipe、CreateProcess函数0x01.CreatePipe函数管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(AnonymousPipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。先详细介绍一下管道,这里以匿名管道为

    2022年7月26日
    19
  • JMeter性能测试之相关术语及性能测试通过标准

    JMeter性能测试之相关术语及性能测试通过标准

    2021年7月13日
    104

发表回复

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

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