博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
枚举和结构体
阅读量:5103 次
发布时间:2019-06-13

本文共 730 字,大约阅读时间需要 2 分钟。

枚举和结构体是值类型,存储在栈上;

定义枚举变量时必须赋值;

只能用枚举指定的值给枚举变量赋值;

枚举变量.tostring();输出的是字母字符串,而不是整型字符串;

enum Season{spring,summer,fall,winter}Season season = Season.summer;int a = (int)season;// 结果 a = 1;

定义枚举的最佳方式:

enum Season : byte {spring,summer,fall,winter} //这样比较节省内存

枚举允许这样的运算

season++;     season + 2 ;//但是要注意不能超过枚举值的最大值

 

当一个类的数据成员很少,重在包装数据,这时候,管理堆中对象显得不划算,定义成结构体比较好;

结构体的所有数据成员都在栈中;

结构体允许有字段,方法,构造器;

限制如下:

用户必须提供一个构造函数,有且仅仅有一个构造函数,构造函数要为全部的字段赋值;

声明字段时,不要为结构体赋值,否则编译错误;

定义结构体时,必须调用new,不能=null(因为它不是引用呀!!!)

结构体的复制

用 “ = ” 即可,会把右边的结构体变量的成员一一赋给左边的结构体变量;这与引用类型的赋值完全不同,引用类型的只是把栈中的引用复制一下,堆中还是只有一份。(浅拷贝)

结构体举例

int就是一个结构体;int是System.Int32的别名;结构体允许有自己的方法和静态字段;比如

int.Parse() 是方法;int.MaxValue是静态字段;

 

 

转载于:https://www.cnblogs.com/maoshuyi/p/9924683.html

你可能感兴趣的文章
Docker 容器的数据管理
查看>>
驱动相关Error
查看>>
补坑:Prufer 编码总结
查看>>
mysql单节点大事务限制是哪个参数_java面试题汇总 转自多处
查看>>
ORACLE- PLSQL 游标的几种使用情况
查看>>
Maven依赖
查看>>
声笔飞码超字模式效率分析
查看>>
元旦快乐(2016-01-01)
查看>>
WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法
查看>>
jq地区联动
查看>>
paip.cache 缓存架构以及性能提升总结
查看>>
Atitit.atiDataStoreService v2 新特性
查看>>
Atitit.在线充值功能的设计
查看>>
解决CListCtrl闪烁及水平滚动条不能跟踪拖动的问题
查看>>
Thinkphp中使用display()方法显示视图模板,使用show()方法是显示文本内容
查看>>
搭建-以外网访问本地主机
查看>>
本地存储(cookie&sessionStorage&localStorage)
查看>>
JavaScript escape encodeURI encodeURIComponent() 函数
查看>>
UtraEdit 支持Lua高亮
查看>>
Javascript语法基础
查看>>