重读C#高级编程之Struct在实际开发中的应用
2008-06-03 11:32
295 查看
首先看看struct和class区别和相同点.
1.最大的不同在于数据类型不同,前者为值类型,而后者为引用类型。
2.由于数据类型的不同,他们在内存中存储的位置也不同,前者存储在stack中,后者则Heap中;
3.由于存储位置不同,存取速度就有很大差距.stack中数据肯定heap中要快很多.
4.class支持接口继承,实例继承,而struct只支持接口继承.
...想不到了,先这样吧.
5.除此之外,他们大体相同:只是关键字不同而已.
所以,通常我们把Struct叫做轻量级数据结构,可以用来传输数据,此时比class要方便快捷很多.当然这里的数据应该是一些关联性比较强的一些数据,不然的话,就会很奇怪。
看一个Demo:
class Class1
public struct myStruct
public struct MyInsert
MyInsert[] Inserts = new MyInsert [5];
for (int i = 0; i < 5; i++)
InsertAllData(Inserts);
而后在InsertAllData中对传递进来的Struct“解析”,执行操作。
1.最大的不同在于数据类型不同,前者为值类型,而后者为引用类型。
2.由于数据类型的不同,他们在内存中存储的位置也不同,前者存储在stack中,后者则Heap中;
3.由于存储位置不同,存取速度就有很大差距.stack中数据肯定heap中要快很多.
4.class支持接口继承,实例继承,而struct只支持接口继承.
...想不到了,先这样吧.
5.除此之外,他们大体相同:只是关键字不同而已.
所以,通常我们把Struct叫做轻量级数据结构,可以用来传输数据,此时比class要方便快捷很多.当然这里的数据应该是一些关联性比较强的一些数据,不然的话,就会很奇怪。
看一个Demo:
class Class1
public struct myStruct
public struct MyInsert
MyInsert[] Inserts = new MyInsert [5];
for (int i = 0; i < 5; i++)
InsertAllData(Inserts);
而后在InsertAllData中对传递进来的Struct“解析”,执行操作。
相关文章推荐
- Cookie和Session的基础知识+高级编程+实际开发中的应用(经典)
- iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理
- iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理
- Windows phone 7 高级编程——使用visual stdio 、silverlight与XNA进行应用和游戏开发
- 【140812】Visual C++高级编程及其项目应用开发 pdf
- 数据库开发(21)高级应用开发
- ios开发runtime学习三:动态添加方法(实际应用少,面试)
- VC编程技术点滴(七)简单的数据库应用开发
- Brew后台应用开发-VC编程
- 应用MFC开发高级应用程序
- 招聘苹果iPad/iPhone大型应用系统高级开发工程师
- Android高级应用开发第二章---屏幕适配
- css3动画高级应用开发唱吧首页图片飞入效果
- iOS运行时在开发中的实际应用
- Android高级应用开发第三章---Handler
- 嵌入式linux网络编程之connect()函数的高级应用
- 【Android高级】应用开发必需要掌握的框架<Volley>
- HTML5高级编程之图形扭曲及其应用一(原理篇)
- 信号量机制在WINDOWS编程中的实际应用
- pig 编程指南笔记(三) 高级应用