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();
C#基础 结构体 枚举类型的更多相关文章
- OC基础--结构体 枚举做类成员属性
结构体 枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期 毕业日期 -- 结构体 代码示例: 声明文件 Student.h: #import <Foundation ...
- C语言的结构体,枚举类型在程序中的作用
http://www.xue63.com/xueask-1221-12212854.html 结构和枚举类型从程序实现的角度来说,是用更接近自然语言的方式来表达数据.比如说实现2维空间的点,你可以使用 ...
- C# 结构体 枚举类型
注意:枚举类型和结构体都属于值类型. 结构体:就是一个自定义的集合,里面可以放各种类型的元素,用法大体跟集合一样. 一.定义的方法: struct student { public int nianl ...
- go 基础 结构体
结构体是类型中带有成员的复合类型.go语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. go语言中的类型可以被实例化,使用new和&构造类型实例的类型是类型的指针. 结构体 ...
- go语言之进阶篇结构体指针类型匿名字段
1.结构体指针类型匿名字段 示例: package main import "fmt" type Person struct { name string //名字 sex byte ...
- Java基础教程:枚举类型
Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...
- C#语言基础——结构体和枚举类型
结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要 ...
- C#基础 结构体、枚举
一 结构体 结构体(struct)指的是一种数据结构,一个变量组,是一个自定义的集合.通常使用结构体创造新的“属性”,封装一些属性来组成新的类型. 结构体一般定义在Mian函数上面,位于Class ...
- 数据结构基础——结构体struct及类型别名typedef的使用
一.结构体的创建 在C语言中,实现数据结构的一种常用方法便是使用结构体(structure)其示例代码如下: struct stu { int num; char ch; }; struct表示创建结 ...
随机推荐
- 牛客网 中南林业科技大学第十一届程序设计大赛J题 二分+线段树
https://www.nowcoder.com/acm/contest/124#question 题意 找第一个不小于K的数的下标,然后对它前一个数加一 解析 我们可以维护一个最大值数组 1 ...
- POJ 2431 Expedition【贪心】
题意: 卡车每走一个单元消耗一升汽油,中途有加油站,可以进行加油,问能否到达终点,求最少加油次数. 分析: 优先队列+贪心 代码: #include<iostream> #include& ...
- PostgreSQL及PostGIS使用
基础知识 参考文档:http://www.postgis.net/docs/ PostGIS支持的GIS对象是OpenGIS Consortium(OGC)定义的“简单特征”的超集.OpenGIS规范 ...
- 洛谷—— P3386 【模板】二分图匹配
P3386 [模板]二分图匹配(复习) 题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每 ...
- mssql存储过程异常处理
MSSQL2000和MSSQL2005以上版本的异常处理语法是不相同的. SQL Server 2005以上版本支持结构化异常处理,而MSSQL2000是不支持的. 1)先看MSSQL 2000的异常 ...
- formData 对象
(1)创建的formData打印为空? var edition=$("#edinum").val();//版本号 var uploader=$("#upman" ...
- MySQL-插入数据(INSERT)
Insert语句可将一行或多行插入到表中. INSERT语法: INSERT INTO table(column1,column2...) VALUES (value1,value2,...); 首先 ...
- Cannot change version of project facet Dynamic Web Module to 3.1 (Eclipse Maven唯一解决方式)
If you want to use version 3.1 you need to use the following schema: http://xmlns.jcp.org/xml/ns/jav ...
- easyUI里的checkbox编辑
数据源如果有布尔值,那么在UI里,最合适的控件应该就是checkbox了. easyUI的datagrid中,列的checkbox酱紫设置: {field:'status',title:'Status ...
- 2016/2/24 . html . htm . shtml 的区别
htm.html.shtml网页区别 htm.html.shtml区别 接下来我们来了解下htm.shtml.html这三者之间区别.首先htm.html.shtml都是静态网页的后缀,三者也 ...