黑马程序员 浅析C#类和C#结构体的关系
来源:互联网 发布:傅园慧网络直播全视频 编辑:程序博客网 时间:2024/05/13 21:53
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
C#类:类是C# 中功能最为强大的数据类型,类也定义了数据类型的数据和行为。然后,程序员可以创建作为此类的实例的对象。
C#结构体:结构体是轻量型的类,使用开销相对于类较小。
C#类和C#结构体两者的关系:
1.数据类型:类和结构体都是数据类型,类是引用类型,结构体是值类型。
2.继承性:类可以继承和被继承,而结构体隐式继承于object,不可以继承(除接口以外)和被继承
3.构造函数:类和结构体都有默认(无参)构造函数,只不过结构体不能显示声明默认(无参)构造函数,
4.字段初始化:类可以对字段声明时赋值初始化,而结构体不可以(除const和static之外),结构体的字段必须在构造函数中进行初始化。
5.实例化:结构体实例化时可以不使用new,,如果不使用new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。而类必须使用new进行实例化。
如何选择C#结构体还是C#类
讨论了结构与类的相同之处和差别之后,下面讨论如何选择使用结构还是类:
1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
3.在表现抽象和多级别的对象层次时,类是最好的选择
4.大多数情况下该类型只是一些数据时,结构时最佳的选择 ,struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
- 黑马程序员 浅析C#类和C#结构体的关系
- c#类和结构体的关系
- 黑马程序员—C#中结构和类的区别
- C#类和C#结构体的关系
- 浅析C#中的结构体和类
- 黑马程序员-c#的三种最基本结构
- 【黑马程序员】C#之结构
- C#结构体的特点浅析
- 黑马程序员------C#类
- 黑马程序员--C#数组和Array类
- 黑马程序员 C#数组和Array类
- 黑马程序员——C#选择结构的用法
- 黑马程序员—C#中的循环结构
- 黑马程序员之 C#学习笔记:结构体是复制传递的经典案例
- 黑马程序员之C#学习笔记:类与结构的区别
- 黑马程序员之C#学习笔记: c#中重写(覆盖)和隐藏类的方法
- C#结构体和类的区别
- C#结构体和类的区别
- 一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容(5)--修改页面布局
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
- [Debug]Native Exception学习(一)
- 问题(一)
- 重载 set_invalid_parameter_handler
- 黑马程序员 浅析C#类和C#结构体的关系
- 初识Twisted:事件驱动编程
- 博客参考
- erlang常用内建函数BIF
- java与json互相转换(解决日期问题)
- Android Service ---传递复杂数据的AIDL Service 笔记
- set unused column和视图,约束,同义词和索引的关系
- 9.分解质因数
- Java中常见问题总结(二)