结构体、枚举
来源:互联网 发布:音频编辑软件哪个好 编辑:程序博客网 时间:2024/06/05 09:37
1、结构:程序员定义的数据类型,是值类型,不能派生,关键字struct,内存开辟在栈中
2、结构赋值:把一个结构的值复制给另一个结构,类变量赋值是引用赋值,指向同一内存
3、结构中字段不能初始化
4、结构是密封的,以下修饰符不能用于结构:
protected,internal,abstract,virtual
5、什么情况下使用结构:①内存小,②不可改变,③与逻辑相关的
enum Week // 枚举 { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } struct Student // 结构体 { public int Num; public string Name; public Score[] A; // 结构体中的数组 } struct Score // 结构体 { public float X; public float Y; } class Program { static void Main(string[] args) { Student st2 = InputStudent(); /* 此处在栈内开辟第二块内存空间 */ PrintStudent(st2); // 结构体作为参数 } public static void PrintStudent(Student st3) /* 此处在栈内开辟第三块内存空间 */ { PrintWeek(); Console.WriteLine("num:{0}\nName:{1}\nscoreX:{2}\nscoreY:{3}", st3.Num, st3.Name, st3.A[0].X, st3.A[1].Y); Console.WriteLine("按任意键继续"); Console.ReadKey(); } public static Student InputStudent() { Student st1; /* 此处在栈内开辟第一块内存空间 */ st1.Num = 123; st1.Name = "AA"; // 一般结构体变量赋值 st1.A = new Score[2]; // 初始化结构体数组 st1.A[0].X = 66.6f; st1.A[0].Y = 88.8f; st1.A[1].X = 77.7f; st1.A[1].Y = 99.9f; return st1; // 结构体作为返回值 } public static void PrintWeek() { foreach (Week a in Enum.GetValues(typeof(Week))) // 遍历枚举值 GetValues 返回Array类型 { Console.WriteLine(a); } foreach (string name in Enum.GetNames(typeof(Week))) // 遍历枚举值 GetNames 返回 string[] 类型 { Console.WriteLine(name); } /* 直接调用枚举值 可以Week.*** */ } }
0 0
- 结构体与枚举
- 结构体、枚举
- 结构体和枚举
- 结构体、联合、枚举
- 结构体、联合体、枚举
- typedef/结构体/枚举/
- 结构体、枚举
- 结构体 共同体 枚举
- 结构体 枚举 typedef
- 枚举,结构体区别
- 结构体、联合体、枚举
- 枚举和结构体
- 结构体与枚举
- 结构体,枚举,联合
- 结构体、共用体、枚举
- 枚举,结构体,共用体
- 结构体 枚举 共用体
- 结构体、共用体、枚举
- 求某范围内最大公约数
- session无法使用,验证码总是不对
- 使用VC开发ActiveX时,提示程序无法启动 要注册利用“regsvr32”命令控件的注册,注册失败方法
- shape/selector
- O(1)时间检测2的幂次
- 结构体、枚举
- 数据库设计概念
- viewPager+photoView实现网络图片加载左右滑动+手势缩放功能+滑动到下一页其他页面恢复默认大小
- CocoaPods管理第三方开源组件,入门介绍
- C#学习笔记一
- 自定义对象的拷贝(copy 和 strong 的区别)
- 架构设计:系统间通信(35)——被神化的ESB(下)
- 自己制作的播放器MeITo
- 命令行jarsigner签字和解决找不到证书链错误