黑马程序员技术交流社区

标题: 有关结构体的问题 [打印本页]

作者: 迷你卡卡    时间: 2013-9-29 23:39
标题: 有关结构体的问题
本帖最后由 迷你卡卡 于 2013-9-30 00:25 编辑

C#中结构体在实际应用中用的多吗?一般在什么情况下需要定义结构体呢?是不是定义成结构体的都可以被定义为一个类所代替呢?如果是的话,既然类都可以代替结构体,那结构体的实际意义又在哪里呢?
作者: 段朝骞    时间: 2013-9-29 23:49
类是一种“引用类型”。
创建类的对象时,对象赋值到的变量只保存对该内存的引用。
将对象引用赋给新变量时,新变量引用的是原始对象。
通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。


结构是一种值类型。
创建结构时,结构赋值到的变量保存该结构的实际数据。
将结构赋给新变量时,将复制该结构。
因此,新变量和原始变量包含同一数据的两个不同的副本。
对一个副本的更改不影响另一个副本。

关键就在于值类型与引用类型的区别
类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模。
结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主。

作者: 迷你卡卡    时间: 2013-9-30 00:24
段朝骞 发表于 2013-9-29 23:49
类是一种“引用类型”。
创建类的对象时,对象赋值到的变量只保存对该内存的引用。
将对象引用赋给新变量时 ...

恩恩 看了你的回复还是明白了很多,比如我定义一个坐标之类的使用结构就比使用类简便多了!多谢呢{:soso_e100:}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2