结构和类的区别
2012-02-29 11:57
113 查看
类是引用类型,是保存在托管堆中的。通过定义类,我们可以在数据的生存期上得到很高的灵活性,但是也会让程序的性能有一定的损失。虽然这种损失很小,但当我们只需要定义一个很小的结构时,用类来定义就有些浪费,对于这样的问题,C#有相对应的方案来解决,那就是-结构(struct)。
结构(struct)是一种值类型。也就是说,结构实例是分配在线程堆栈上的,结构本身是包含有值的,而不是像类一样的引用类型,包含的是所指向堆当中的引用(指针)。也就是说,结构的生存周期与简单类型(int,double等)相同的。所以说我们在定义较小的类时,可以尽量使用结构。
结构与类的区别:
(1)结构是值类型,不是引用类型。
(2)结构可以继承接口,但是不可以继承类或结构。
(3)结构的构造方法的工作方式有所不同,只能声明带参数的构造方法,且不能声明析构方法。
(4)可以指定字段如何在内存中布局。
什么时候使用(struct)结构:
虽然我们可以用(class)类完全代替(struct)结构,但是为了程序的性能的提高,建议大家在实现一个用于存储数据或数据量较小的结构时来使用结构,因为结构是值类型,所以在性能的影响上,是能起到正面作用的。
结构(struct)是一种值类型。也就是说,结构实例是分配在线程堆栈上的,结构本身是包含有值的,而不是像类一样的引用类型,包含的是所指向堆当中的引用(指针)。也就是说,结构的生存周期与简单类型(int,double等)相同的。所以说我们在定义较小的类时,可以尽量使用结构。
结构与类的区别:
(1)结构是值类型,不是引用类型。
(2)结构可以继承接口,但是不可以继承类或结构。
(3)结构的构造方法的工作方式有所不同,只能声明带参数的构造方法,且不能声明析构方法。
(4)可以指定字段如何在内存中布局。
什么时候使用(struct)结构:
虽然我们可以用(class)类完全代替(struct)结构,但是为了程序的性能的提高,建议大家在实现一个用于存储数据或数据量较小的结构时来使用结构,因为结构是值类型,所以在性能的影响上,是能起到正面作用的。
相关文章推荐
- 设计模式(1)-创建模式、结构模式、行为模式的区别
- 类和结构的区别?
- .NET中类和结构的区别
- C-S结构和B-S结构的区别
- 深入C#结构和类的区别
- 理解并取证:IPv6与IPv4在报文结构上的区别
- FAT16与FAT32文件系统结构的主要区别
- C#类和结构区别的总结(一)
- 如何:了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)
- C# 循环结构while,do-while和for的区别以及跳转语句
- 关于Linklist、Arraylis、Hashmap、Hashset、Hashtable t的特点、区别以及其数据结构
- 黑马程序员—C#中结构和类的区别
- C#结构和类的六点区别
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
- C#中类与结构的区别(简单介绍)
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?(知呼回答)
- 结构和联合的区别
- 什么是CS和BS结构,两种结构的区别
- [FAQ] 数据结构用 C 和 C++ 描述有什么区别
- 结构与类的区别