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

一、定义的例子:

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();

C#基础 结构体 枚举类型的更多相关文章

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

    结构体  枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期  毕业日期  --  结构体 代码示例: 声明文件 Student.h: #import <Foundation ...

  2. C语言的结构体,枚举类型在程序中的作用

    http://www.xue63.com/xueask-1221-12212854.html 结构和枚举类型从程序实现的角度来说,是用更接近自然语言的方式来表达数据.比如说实现2维空间的点,你可以使用 ...

  3. C# 结构体 枚举类型

    注意:枚举类型和结构体都属于值类型. 结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 一.定义的方法: struct student { public int nianl ...

  4. go 基础 结构体

    结构体是类型中带有成员的复合类型.go语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. go语言中的类型可以被实例化,使用new和&构造类型实例的类型是类型的指针. 结构体 ...

  5. go语言之进阶篇结构体指针类型匿名字段

    1.结构体指针类型匿名字段 示例: package main import "fmt" type Person struct { name string //名字 sex byte ...

  6. Java基础教程:枚举类型

    Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...

  7. C#语言基础——结构体和枚举类型

    结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要 ...

  8. C#基础 结构体、枚举

    一 结构体 结构体(struct)指的是一种数据结构,一个变量组,是一个自定义的集合.通常使用结构体创造新的“属性”,封装一些属性来组成新的类型.   结构体一般定义在Mian函数上面,位于Class ...

  9. 数据结构基础——结构体struct及类型别名typedef的使用

    一.结构体的创建 在C语言中,实现数据结构的一种常用方法便是使用结构体(structure)其示例代码如下: struct stu { int num; char ch; }; struct表示创建结 ...

随机推荐

  1. 本地配置nginx的https

    前文:因为要用谷歌下的getUserMedia方法,而getUserMedia方法只能在https下才能调用,所以在本地搭建https来测试,现在说说步骤. 步骤1:下载nginx-1.10.3.zi ...

  2. 学习日常笔记<day10>servlet编程

    1 如何开发一个Servlet 1.1 步骤: 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行!! 3.1 s ...

  3. SaltStack学习系列之State安装Nginx+PHP环境

    目录结构 |-- pillar | |-- nginx | | `-- nginx.sls #nginx变量(key:value) | `-- top.sls `-- salt|-- init #初始 ...

  4. Cookie对象的特点

    1.存储少量不重要的数据2.存储在客户端的文本文件中(必须设置有效期,否则不被存储)3.安全性差4.存储的数据类型--字符串5.浏览器窗口无关,但与访问的站点相关6.具体特定的过期时间和日期7.在客户 ...

  5. [Sqlite3] Sqlite Introduction

    Check whether you have sqlite3 installed: sqlite3 -version To create a new db: sqlite3 <filename. ...

  6. C++虚函数表剖析

    关键词:虚函数.虚表,虚表指针,动态绑定,多态 一.概述 为了实现C++的多态,C++使用了一种动态绑定的技术. 这个技术的核心是虚函数表(下文简称虚表).本文介绍虚函数表是怎样实现动态绑定的. 二. ...

  7. [办公应用]如何制作二Y轴图(excel)

    有时候我们会遇到一种图表,就是X轴一致,可是Y轴的数据相差很大.如下图中,年龄和收入就不是一个数量级,在图表中显示的时候,“年龄”的曲线根本看不到(表中数据仅供举例): 解决的方法就是使用双Y轴显示, ...

  8. Codeforces Round #324 (Div. 2)C. Marina and Vasya set

                                                          C. Marina and Vasya   Marina loves strings of ...

  9. 【bzoj3288】Mato矩阵

    题目大意:给定一个n阶行列式,第i行第j列为GCD(i,j),求这个行列式的值 高斯消元之后发现对角线上的东西是phi 于是线性筛出所有的欧拉函数即可 #include<algorithm> ...

  10. HNOI模拟 Day3.23

    一.拓扑(top)[ 题目描述]:给你一个有向二分图,求他的拓扑序列的个数.[ 输入]:第一行两个数 N,M,表示点数和边数.接下来 M 行每行两个数 a,b,表示 a 向 b 有一条有向边.[ 输出 ...