C# 结构体 枚举类型

结构体主要用于创建小型对象,例如   对象:学生  他包含:学号 姓名  性别  生日 班级   成绩等多个再小的对象

当我们有成千上万个对象组合起来   容易会自己造成混乱 而且占一定的内存

结构体就是把一个对象分支多个对象  组合起来进行计算 运行  并且不会重复运用同一个程序  把内存节省

定义:

它一般定义在Main函数外面,类Class program里面

格式:

struct+结构体名称

{ public   int 变量名;

public   string   变量名;

public   数据类型    变量名

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 练习题
{
    class Program
    {
        struct student //struct  结构体名称
        {
            public double chengji;  //public  数据类型  变量名
            public string name;
            public DateTime shengri;
            public bool jige;

        }
        static void Main(string[] args)
        {
            student s = new student();    用结构体定义一个变量
            Console.Write("请输入成绩");
            s.chengji = Convert.ToDouble(Console.ReadLine());     s.上面的变量名chengji
        }
    }
}

枚举类型

枚举(enum)是值类型一种特殊形式,是一组常量的集合

就是定义一组号常量  在用的时候给你一个选择项  选择一个

namespace 练习题
{
    class Program
    {
        enum xingbie    enume  枚举的名字
        {                  {
            男,                给用户列举几个选项选择    选择项中加逗号
            女
        }                    }
        static void Main(string[] args)
        {
            xingbie.男      这里的男是在打完xingbie  再打一打点出现一个选项 让我们选择
        }
    }
}

练习题:

结构体练习题:
“请输入录入学生的个数:”

记录学生信息,需要输入
“请输入第1个学生的学号”
“请输入第1个学生的姓名”
“请输入第1个学生的生日”
“请输入第1个学生的成绩”

打印格式如下:
================学生信息展示===================
s001 张三 2000年1月1日 17 90       成绩是从大到小排列出来
s002 李四 2000年1月1日 17 80
。。。

namespace 结构体___学生信息
{
    class Program
    {
        struct Student
        {
            public string code;
            public string name;
            public DateTime dt;
            public int score;

        }
        static void Main(string[] args)
        {//请输入学生个数
            Console.Write("请输入学生个数:");
            int gs = Convert.ToInt32(Console.ReadLine());
          //请输入学生 学号  姓名  生日  成绩
            List<Student> s=new List<Student>();
            for (int i = 1; i <= gs;i++ )
            {
                Student ss=new Student();
                Console.Write("请输入第"+i+"个学生的学号:");
                ss.code = Console.ReadLine();
                Console.Write("请输入第" + i + "个学生的姓名:");
                ss.name = Console.ReadLine();
                Console.Write("请输入第" + i + "个学生的生日:");
                ss.dt = Convert.ToDateTime(Console.ReadLine());
                Console.Write("请输入第" + i + "个学生的成绩:");
                ss.score = Convert.ToInt32(Console.ReadLine());
                s.Add(ss);
            }//冒泡排序   用成绩大小排列  把用户信息排列起来
            for (int i = 0; i < gs; i++)
            {
                for (int j = i + 1; j < gs;j++ )
                {
                    if (s[i].score < s[j].score)
                    {
                        Student aa = s[i];
                        s[i] = s[j];
                        s[j] = aa;
                    }
                }
            }

            //===============学生成绩展示=================
            Console.WriteLine();
            Console.WriteLine("===============学生成绩展示=================");
           // s001    张三    2000年1月1日   17   90   成绩是从小到大排列出来
            for (int i = 0; i < s.Count;i++ )
            {
                int age = DateTime.Now.Year - s[i].dt.Year;
                    Console.WriteLine(s[i].code+"\t"+s[i].name+"\t"+s[i].dt.Day+"\t"+age+"\t"+s[i].score);
            }
            Console.ReadLine();
        }
    }
}
时间: 2025-01-03 18:28:36

C# 结构体 枚举类型的相关文章

结构体 枚举类型

结构体 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

C 碎片八 结构体&amp;枚举&amp;联合

一.结构体 1, 结构体定义 结构体类型的定义:任意数据类型变量的集合,用于描述一个具体的事物的信息.在C语言中描述一件事物一般都是用结构体 声明结构体类型的格式: struct  结构体名 {成员列表}: 一般形式: //结构体定义一般形式 struct 结构体名 { 成员变量1; //成员变量后面是';' 成员变量2; .... }; //这里最后加';' 不能省略 例: struct Student { char name[30]; int age; double score; }; 说明

C89:论结构体/枚举体/联合体的使用

一.Struct 1.struct的作用 一般用在多种不同数据类型集合里面,便于代码整洁,用于封装便于再次利用 struct默认是public,class默认是private 2.struct的使用 1.有结构名 struct A{ ... }; Struct A a; 2.有结构名和结构对象 struct A{ ... }O; Struct A a; 3.只有结构对象 struct{ ... }O,Array[100],*pO,; //struct不能调用自身的对象,只能使用引用和指针指向自身