C#中类(class)与结构(struct)的异同


Posted in 面试题 onNovember 03, 2013
1.值类型与引用类型
结构Struct是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 system.string 结构 ,通过使用结构可以创建更多的值类型
类Class是引用类型:引用类型在堆上分配地址
堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑
因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用
1.虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object
2.虽然结构的初始化也使用了New 操作符可是结构对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用
2.继承性
结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed .
类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承
3.内部结构:
结构:
没有默认的构造函数,但是可以添加构造函数
没有析构函数
没有 abstract 和 sealed(因为不能继承)
不能有protected 修饰符
可以不使用new 初始化
在结构中初始化实例字段是错误的
类:
有默认的构造函数
有析构函数
可以使用 abstract 和 sealed
有protected 修饰符
必须使用new 初始化

Tags in this post...

面试题 相关文章推荐
面向对象编程OOP的优点
Jan 22 面试题
北京银河万佳Java面试题
Mar 21 面试题
怎么处理XML的中文问题
Mar 26 面试题
Kingsoft金山公司C/C++笔试题
May 10 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
广州迈达威.net面试题目
Mar 10 面试题
西部世纪.net笔试题面试题
Apr 03 面试题
作为网站管理者应当如何防范XSS
Aug 16 面试题
什么是反射
Mar 17 面试题
软件测试面试题
Oct 21 面试题
EJB timer的种类
Oct 28 面试题
华为python面试题
May 03 面试题
C#的几个面试问题
May 22 #面试题
C#可否对内存进行直接的操作
Feb 26 #面试题
C#中有没有静态构造函数,如果有是做什么用的?
Jun 04 #面试题
一套C#面试题
Oct 09 #面试题
在C#中如何实现多态
Jul 02 #面试题
使用C#编写创建一个线程的代码
Jan 22 #面试题
编程实现去掉XML的重复结点
May 28 #面试题
You might like
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
JS对文本框值的判断示例
2014/03/10 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
Python创建xml的方法
2015/03/10 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python退出循环的方法
2020/06/18 Python
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
致共产党员倡议书
2014/04/16 职场文书
小学生期末评语
2014/04/21 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
志愿者活动总结
2014/04/28 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
第一书记观后感
2015/06/08 职场文书
升学宴家长致辞
2015/07/27 职场文书
2016年记者节感言
2015/12/08 职场文书