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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迷你卡卡 中级黑马   /  2013-9-29 23:39  /  1682 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 迷你卡卡 于 2013-9-30 00:25 编辑

C#中结构体在实际应用中用的多吗?一般在什么情况下需要定义结构体呢?是不是定义成结构体的都可以被定义为一个类所代替呢?如果是的话,既然类都可以代替结构体,那结构体的实际意义又在哪里呢?

评分

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

查看全部评分

2 个回复

倒序浏览
类是一种“引用类型”。
创建类的对象时,对象赋值到的变量只保存对该内存的引用。
将对象引用赋给新变量时,新变量引用的是原始对象。
通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。


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

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

评分

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

查看全部评分

回复 使用道具 举报
段朝骞 发表于 2013-9-29 23:49
类是一种“引用类型”。
创建类的对象时,对象赋值到的变量只保存对该内存的引用。
将对象引用赋给新变量时 ...

恩恩 看了你的回复还是明白了很多,比如我定义一个坐标之类的使用结构就比使用类简便多了!多谢呢{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马