结构体、枚举类型——8月3日

一、结构体、美剧类型都是属于值类型

(一)结构体

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;//下面要用到ArrayList集合,就要先引用这个
namespace 结构体_枚举类型
{
    class Program
    {
        struct Student
        {
            public int no;
            public string name;
            public string sex;
            public double score;
        }

        //struct fenshu
        //{
        //    public ArrayList al;
        //}

        ////结构体
        //struct Student
        //{
        //    public int no;
        //    public string name;
        //    public string sex;
        //    public score fen;
        //}
        ////结构体内部可以直接放置理你个结构体的数据类型
        //struct score
        //{
        //    public double yu;
        //    public double shu;
        //    public double ying;
        //}
        static void Main(string[] args)
        {

            ////初始化结构体
            //Student st = new Student();
            //st.no = 20001;
            //st.name = "张三";
            //st.sex = "男";
            //st.score = 80;
            ////将每个人的信息放进ArrayList集合中
            ////面向对象思想
            //ArrayList al = new ArrayList();
            //al.Add(st);
            ////
            //Student st1 = new Student();
            //st.no = 20002;
            //st.name = "李四";
            //st.sex = "男";
            //st.score = 80;
            //al.Add(st1);

            //Student st = new Student();
            //st.no = 10001;
            //st.name = "张三";
            //st.sex = "男";
            //st.fen.yu = 77;
            //st.fen.shu = 88;
            //st.fen.ying = 99;

            //定义一个集合,把学号、姓名、性别、分数放进结构体,再把结构体放进集合
            ArrayList al = new ArrayList();
            Console.Write("请输入班级人数:");
            int a = int.Parse(Console.ReadLine());
            for (int i = 0; i < a; i++)
            {
                Student st = new Student();
                Console.Write("请输入第{0}个学生的学号:", i + 1);
                st.no = int.Parse(Console.ReadLine());
                Console.Write("请输入第{0}个学生的姓名:", i + 1);
                st.name = Console.ReadLine();
                Console.Write("请输入第{0}个学生的性别:", i + 1);
                st.sex = Console.ReadLine();
                Console.Write("请输入第{0}个学生的分数:", i + 1);
                st.score = double.Parse(Console.ReadLine());
                al.Add(st);
            }
            //查看3号索引位置的学生的所有信息
            //接收出来的时候需要接受成添加时候的数据类型(Student)
            Student st1 = (Student)al[3];
            //输出时要每个信息单独输出,一起输出现实的是结构体
            Console.WriteLine(st1.no);
            Console.WriteLine(st1.name);
            Console.WriteLine(st1.sex);
            Console.WriteLine(st1.score);
            Console.ReadLine();

        }
    }
}

1、用法:

在main主函数外面定义了一个名称为student的结构体,以便于main函数之中使用。student st = new student();//这句话是在main函数之中定义了一个名为st的student类型的结构体。下面开始为里面的每个元素赋值:(结构体名+点+结构体里面的变量名称值)

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

2、#region    代码段    #endregion     中间的代码可以被隐藏

(二)枚举类型

1.枚举类型只针对字符串,对于索引,无意义
2.常量的集合,这些常量只能取值,不能赋值
3.用常量表示所引用的字符串,这样可以省去重复写入长字符串

定义:Enum....{E}

枚举元素的默认基础类型为int。默认情况下,第一个枚举数的值为0,后面每个枚举数的值         依次递增1。

用法:

枚举也可以指定数据类型,一般不指定。

在定义枚举类型时,可以选择基类型,但可以使用的基类型仅限于long、int、short和byte。

时间: 2024-11-25 09:39:58

结构体、枚举类型——8月3日的相关文章

练习:结构体、枚举类型——8月3日

练习一: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace 练习题 { class Program { //练习1:结构体 struct Student { public int no; public string name; public st

C# 结构体 枚举类型

结构体主要用于创建小型对象,例如   对象:学生  他包含:学号 姓名  性别  生日 班级   成绩等多个再小的对象 当我们有成千上万个对象组合起来   容易会自己造成混乱 而且占一定的内存 结构体就是把一个对象分支多个对象  组合起来进行计算 运行  并且不会重复运用同一个程序  把内存节省 定义: 它一般定义在Main函数外面,类Class program里面 格式: struct+结构体名称 { public   int 变量名; public   string   变量名; publi

结构体 枚举类型

结构体 class Program { struct student { public int num; public string name; public string sex; public one oone; public int[] qq; } struct one { public string aa; public int bb; } static void Main(string[] args) { ////struct ////初始化结构体 //student stu = ne

C#基础 结构体 枚举类型

结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 一.定义的例子: struct student { public int nianling; public int fenshu; public string name; public string sex; public int sum; } 以上的语句就是定义一个名称为student的结构体,其中包含int类型的年龄.分数.总和,和string类型的姓名.性别. 二.用法: 在main主函数外面定义了一个名称为st

结构体枚举类型

结构体 结构体类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承. 用结构的主要思想是创建小型的对象,如Point和FileInfo等等.这可以节省内存,因为没有如类对象所需的那样有额外的引用产生.例如,当声明汉语成千上万个对象的数组时,这会引起极大的差异. 结构体是一个变量组,将一组变量放在一起,其实就是一个自定义的集合,里面可以包含各

OC基础--结构体 枚举做类成员属性

结构体  枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期  毕业日期  --  结构体 代码示例: 声明文件 Student.h: #import <Foundation/Foundation.h> typedef struct { int year; int month; int day; } Date; typedef enum { kGenderGirl = 0, kGenderBoy = 1, kGenderChunGe = 2 } Gender; @inter

关于C/C++结构体参数类型定义冲突

1.对于纯C程序调用纯C编译的动态库: 可直接在纯C程序包含的头文件中修改结构体参数类型名称.编译器不会有任何警告或者错误,并且可正常调用. 2.对于C++程序调用C++编译的动态库: 必须C++程序和C++动态库都使用extern "C"包含,方可以任意修改结构体参数类型名称.编译器不会有任何警告或者错误,并且可正常调用. 总结:只有当使用C语言方式编译相互调用时,可以任意修改结构体参数类型名称.

C++ 共用体 枚举类型 所有

一.共用体类型 1.共用体的概念. 有时候需要将几种不同类型的变量存放到同一段内存单元中.例如有三个变量,他们的字节数不同,但是都从同一个地址开始存放.也就是用了覆盖技术,几个变量互相覆盖.这种使几个不同变量共占同一个内存的结构,称为共用体类型结构. 其一般形式: union 共用体类型名 { 成员列表 }; 定义共用体变量的一般形式: 共用体类型名    共用体变量名; 例如: union  data { int a; char ch; double  d; } 注意:结构体变量所占内存长度是

9.3 结构体 枚举 typedef

对结构体内存清零: #include <stdio.h> #include <string.h> struct STU { int id; char sex; }; int main() { struct STU s1; memset(&s1 , 0 , sizeof(s1)); } 结构体内存对齐: 以结构体最长的类型对齐 #include <stdio.h> #include <string.h> struct STU { char sex; i