A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白白胖胖 中级黑马   /  2014-6-15 16:29  /  2753 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 白白胖胖 于 2014-6-15 20:09 编辑

结构体和类对比,有什么区别,看视频里结构体只是提了一下,没怎么明白。

点评

如果问题解决请设置成 提问结束 这样可以给你加技术分  发表于 2014-6-15 19:55

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

7 个回复

倒序浏览
首先 你那个写错,应该是struct
结构体和类的区别:
结构体:是一个值类型
类:是一个引用类型
结构体本质也是一个类 继承于:System.ValueType
而类 继承于:System.Object

拓展一下:

值类型均隐式派生自System.ValueType
      数值类型、bool、结构、枚举
      查看IL,隐式继承自ValueType
引用类型派生自System.Object
      字符串、数组、类、接口等
      查看IL隐式继承自Object
引用类型变量的赋值只复制对对象的引用。
值类型变量赋值会拷贝一个副本。

评分

参与人数 1技术分 +1 收起 理由
张旭辉 + 1

查看全部评分

回复 使用道具 举报
黑马-柯校 发表于 2014-6-15 18:05
首先 你那个写错,应该是struct
结构体和类的区别:
结构体:是一个值类型

哦,嘿嘿,用智能提示用习惯啦,自己敲就会敲错。。。
回复 使用道具 举报
结构体和类的区别:“结构体”顾名思义它是一个构造体,组成这一单元的个体是什么?它们之间是否存在联系?把这些搞清楚了我相信你就会明白了,打个比方,房子他就是个结构体,组成成房子的个体是:钢筋,水泥,板砖,等其他组成部分,如果让你写程序把盖一个房子要用到必备材料给罗列出来你怎么写?你确定你罗列的这些材料适合大众化的常规使用吗?可以盖出一N多个可以住人的房子吗?这些讲的我明白,可能你还有些迷糊,我就再举个生活中的例子吧,比如,你去体检的时候,体检单上写一些基本信息,其中会包括:性别,年龄,身高,体重,等一系列体检项目,这些体检项目并不是针对你一个人设计出来的,他是公用的,基本适合所有人,所以体检单也是一个结构体。
class类的话,就跟你main方法中的写法是一样的,具体要怎么些就看你个人了,有些程序我们经常用到的的话就可以写成一个类,在main方法中直接调用就可以了,这样我们就可以省去很多敲代码的时间。

点评

努力加油  发表于 2014-6-17 20:20

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
白白胖胖 发表于 2014-6-15 18:53
哦,嘿嘿,用智能提示用习惯啦,自己敲就会敲错。。。

不是好习惯--
回复 使用道具 举报
顶!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马