zoukankan      html  css  js  c++  java
  • C#基础 结构体 枚举类型

    结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样。

    一、定义的例子:

    struct student

    {

    public int nianling;

    public int fenshu;

    public string name;

    public string sex;

    public int sum;

    }

    以上的语句就是定义一个名称为student的结构体,其中包含int类型的年龄、分数、总和,和string类型的姓名、性别。

    二、用法:

    在main主函数外面定义了一个名称为student的结构体,以便于main函数之中使用。

    student st = new student();//这句话是在main函数之中定义了一个名为st的student类型的结构体。

    下面开始为里面的每个元素赋值:(结构体名+点+结构体里面的变量名称=值)

    main函数下

    {

    st.nianling=22;

    st.fenshu=80;

    st.name="小李";

    }

    赋值完成之后可以打印出被赋值的项。

    三、结构体类型里面包含结构体类型:

    可以在此前的student的结构体中在定义一个结构体

    public shuxing sx;//代表一个shuxing结构体变量组
    }
    public struct shuxing
    {
    public double tizhong;
    public double shengao;
    public int nianling;
    public string hunfou;
    }

    这样就可以在用的时候省下再次初始化结构体。

    //struct jiegouti
    //{
    // public string name;
    // public string kecheng;
    // public Fen fenshu;
    //}
    //struct Fen
    //{
    // public double yufen;
    // public double shufen;
    // public double yingfen;
    //}

    //等号,在枚举类型中的意思
    //指向某个索引号
    enum meiju :int
    {
    one=1,
    two=0,
    three,
    //若等于之前出现的一个常量,那么会将这个常量直接拿过来
    four
    }

    struct student//创建一个学生的结构体
    {
    public int code;//学号
    public string name;//姓名
    public double score;//分数
    }


    static void Main(string[] args)
    {
    ArrayList al = new ArrayList();//初始化集合
    Console.Write("请输入班级人数:");
    int n = int.Parse(Console.ReadLine());
    for (int i = 0; i < n; i++)
    {
    student st = new student();//初始化结构体
    Console.Write("请输入第{0}个学生的学号:",i+1);
    st.code = int.Parse(Console.ReadLine());
    Console.Write("请输入他/她的姓名:");
    st.name = Console.ReadLine();
    Console.Write("请输入他/她的分数:");
    st.score = double.Parse( Console.ReadLine());
    al.Add(st);//将st这个结构体对象添加进al集合里面
    }

    Console.WriteLine("所有人员信息输入完毕!请按回车键查看!");
    Console.ReadLine();

    //Console.WriteLine(al[0]);
    for (int i = 0; i < n; i++)
    {
    student st = (student)al[i];
    Console.WriteLine("第{0}个学生的学号是{1},姓名是{2},成绩是{3}", i + 1, st.code, st.name, st.score);
    }

    Console.ReadLine();

    // Console.WriteLine((int)meiju.one);
    // Console.WriteLine((int)meiju.two);
    // Console.WriteLine((int)meiju.three);
    // Console.WriteLine((int)meiju.four);
    // Console.ReadLine();


    ////结构体初始化
    // jiegouti jgt = new jiegouti();

    // jgt.name = "张三";
    // jgt.kecheng = "语文";
    // //jgt.fenshu = 99;
    // jgt.fenshu.yufen=55;
    // jgt.fenshu.shufen = 88;
    // jgt.fenshu.yingfen = 99;

    //jiegouti jgt2 = new jiegouti();

  • 相关阅读:
    SQL对Xml字段的操作
    五种常见的ASP.NET安全缺陷
    EntityFramework中常用的数据删除方式
    002_ASP.NET 换主题
    001_ASP.NET MVC 实用教程 论坛项目 北盟网校 原创视频教程
    LINQ to Entities 比较日期
    windows10多桌面创建 切换 和分屏
    winform的combox下拉框绑定数据源
    C# 怎么让winform程序中的输入文本框保留上次的输入
    dos 批量重命名 bat
  • 原文地址:https://www.cnblogs.com/dreamer666/p/5637779.html
Copyright © 2011-2022 走看看