社区
C#
帖子详情
我想问问大家在实际开发项目的过程中,在那种情况下会用struct(结构)而不用类(class)?谢谢!!!!
changmaohai1980
2006-10-24 05:58:34
同上!!!!
谢谢了!!!!!!!!
...全文
243
14
打赏
收藏
我想问问大家在实际开发项目的过程中,在那种情况下会用struct(结构)而不用类(class)?谢谢!!!!
同上!!!! 谢谢了!!!!!!!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
14 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
python二级题库
2007-01-16
打赏
举报
回复
搬起大大的板凳来听讲﹗﹗
happyxuying
2007-01-15
打赏
举报
回复
搬起小板凳来听讲坐着发呆
nijiaze
2006-12-14
打赏
举报
回复
欢迎各界.Net初学&高手们加入Q群12757054(要经常在线)
希望大家的问题能够及时的得到解决.
feifeiyaqi3
2006-12-14
打赏
举报
回复
搬起小板凳来听讲坐着发呆
abiho
2006-12-13
打赏
举报
回复
public class TestClass
{
public string value = string.Empty;
}
public struct TestStruct
{
public string value;
}
public sub Test
{
TestClass test1 = new TestClass();
TestClass test2 = test1;
test1.value = "test1";
Console.WriteLine(string.Format("test1:[{0}];test2:[{1}]", test1.value, test2.value ));
test2.value = "test2";
Console.WriteLine(string.Format("test1:[{0}];test2:[{1}]", test1.value , test2.value ));
TestStruct t1 = new TestStruct();
TestStruct t2 = t1;
t1.value = "test1";
Console.WriteLine(string.Format("test1:[{0}];test2:[{1}]", t1.value , t2.value ));
t2.value = "test2";
Console.WriteLine(string.Format("test1:[{0}];test2:[{1}]", t1.value , t2.value ));
}
//测试一下,你就明白什么时候该用什么
newline2000
2006-12-13
打赏
举报
回复
个人理解,简单说struct用于数据封装,class用于对数据操作的封装,旨在简化信息的反复的定义和操作声明。
believefym
2006-12-13
打赏
举报
回复
简单的数据封装用struct,比如一本书,只有一些数码、isbn、价格、书版社等信息,struct将够用了
复杂一点的有事件的(需要方法、函数的)将封装为类
lextm
2006-12-13
打赏
举报
回复
还有个简单的判据。
有继承关系的一般是class,struct不能够继承任何一般类型——因为它已经继承于ValueType。
zssxfc
2006-12-12
打赏
举报
回复
简单的数据设计为struct,复杂的数据设计为class
只包含数据的时候用strict,包括数据还包括方法的时候用class
还有如果需要垃圾自动回收的时候用托管class在堆栈分配空间
xxs1016
2006-12-12
打赏
举报
回复
谢谢
siugwan
2006-10-24
打赏
举报
回复
gz
balenoww
2006-10-24
打赏
举报
回复
搬起小板凳来听讲
Influence
2006-10-24
打赏
举报
回复
1. 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
2. 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
3. 在表现抽象和多级别的对象层次时,类是最好的选择
4. 大多数情况下该类型只是一些数据时,结构是最佳的选择
jiang165
2006-10-24
打赏
举报
回复
当你在底部编程时,而且是硬件方面的处理
还有一种情况就是面向过程的时候。
相关推荐
C++
中
声明
类
的
class
与声明
结构
体的
struct
关键字详解
主要介绍了C++
中
声明
类
的
class
与声明
结构
体的
struct
关键字,默认
情况
下
结构
的所有成员均是公有的,而
类
的所有成员是私有的,需要的朋友可以参考下
Go教程(八)
结构
体
无论是数组,切片还是映射,它们的值都只能保存同一种
类
型. 如一个切片变量的所有元素只能是int,而不是有string,这个和动态语言Python,Javascript不同. 一个映射变量的所有键只能是string,而不是一些是int. 在
实际
项目
过程
中
,肯定是会遇到这种组合
类
的变量的,比如学生信息 name := "张三" age := 18 sex := 1 address :="大铁岭" Go里面有一个叫
struct
的
结构
体可以把多种不同
类
型的变量联合起来
struct
类
型
struct
是一个由不同
Go教程(九)
结构
体嵌套
无论是数组,切片还是映射,它们的值都只能保存同一种
类
型. 如一个切片变量的所有元素只能是int,而不是有string,这个和动态语言Python,Javascript不同. 一个映射变量的所有键只能是string,而不是一些是int. 在
实际
项目
过程
中
,肯定是会遇到这种组合
类
的变量的,比如学生信息 name := "张三" age := 18 sex := 1 address :="大铁岭" Go里面有一个叫
struct
的
结构
体可以把多种不同
类
型的变量联合起来
struct
类
型
struct
是一个由不同
C#.Net 知识基础
1、什么是.Net框架 2、什么是CLR、CLI、IL、JIT,它们是如何工作的? 3、什么是GC,简述其工作方式。 4、
类
(
class
)和
结构
体(
struct
)的区别?它们对性能有什么影响?.Net BCL里面有哪些是
类
(
结构
)?为什么它们不是
结构
(
类
)?在自定义
类
型时,如何选择
类
还是
结构
? 5、在.Net程序运行
过程
中
,什么是堆,什么是栈?什么
情况
下会在
结构
体与
类
的赋值区别及用Equals和==比较它们相同数据的结果[游戏
开发
前的准备2]
C#里的
结构
体与
类
有非常大的相似之处,在
实际
使用时只有
class
和
struct
的区别。所以我列出了关于它们的不同之处,以及在不同
情况
下的比较: 1.当引用1=引用2时
结构
体与
类
存在差异,因为在此后更改值1的值后值2对于
类
会发生改变,而
结构
体不会; 2.当为引用1与引用2被分别赋予相同值时,
类
用Equals()或==作比较结果不相等,而
结构
体作比较是相等的。
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-10-24 05:58
社区公告
让您成为最强悍的C#开发者