社区
C#
帖子详情
C# struct有字段是引用类型的,这样效率会好吗?我应该用类吗?
不懂必须要问
2014-01-25 12:47:25
结构中有Exception作为字段的。而且有几个!请问这样会释放及时吗?我该用CLASS吗?
...全文
1007
6
打赏
收藏
C# struct有字段是引用类型的,这样效率会好吗?我应该用类吗?
结构中有Exception作为字段的。而且有几个!请问这样会释放及时吗?我该用CLASS吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
不懂必须要问
2014-01-26
打赏
举报
回复
明白!谢谢各位的指点。
MicrosoftCenterOfHN
2014-01-25
打赏
举报
回复
2
首先,结构中保留的仅仅是exception的引用,只占4个字节,而真正分配内存是在堆上。所以你不用担心内存回收的问题。 再者,是不是应该用class? 如果你使用struct,那么你要知道,因为其是值类型,struct类型的变量作参数时,传递的是拷贝。而如果使用class,则传递的仅仅是一个地址,4字节。所以,如果你的struct比较庞大,而且会经常用作参数,那你就要考虑使用class而不是struct了。
BenBenBears
2014-01-25
打赏
举报
回复
实际上,在使用C#时,不必过多地考虑这个问题。到目前为止,所使用的string变量(这是引用类型)与使用其他简单变量(大多数是值类型,例如int)的方式完全相同。 除了ls说的string类型,其实数组也是隐式的引用类型。 --------摘自《C#入门经典》
threenewbee
2014-01-25
打赏
举报
回复
没问题,而且你基本回避不了引用类型,字符串就是引用类型。
字段
内存
C#
调用C++DLL注意事项
在写这篇文章之前,xxx已经写过了几篇关于改
字段
内存主题的文章,想要了解的朋友可以去翻一下之前的文章
C#
调用C++DLL注意事项: 1>
C#
值类型与
引
用类
型
的内存特点 2>平台调用中DllImport,
Struct
Layout,MarshalAS的各属性及其含义 3>C++中结构体的内存布局规则 4>...
C#
关于重写的一些问题
C#
重写Equals()方法最近在学习
C#
时遇到了关于重写Equals()方法的内容,感觉是一个很重要的内容,在这里做一个学习笔记。 第一次使用Markdown写文章,如有疏忽,请见谅。 目录C 重写Equals方法 目录 重写 GetHashCode方法 Hash Code是什么 为什么重写Equals方法必须要GetHashCode HashCode的实现原则2 Example 重写Equa
.NET/
C#
⾯试题汇总系列:集合、异常、泛型、 LINQ、委托、EF【系统整合篇】
声明⼀个委托类型,它的实例引⽤⼀个⽅法,该⽅法获取⼀个int参数,返回void。理解委托的⼀个要点是它们的安全性⾮常⾼。在定义委托时,必须给出它所表示的⽅法的签名和返回类型等全部细节。理解委托的⼀种⽐较好的⽅式是把委托当作这样⼀件事情:它给⽅法的签名和返回类型指定名称。其语法类似于⽅法的定义,需要在定义⽅法的前⾯加上delegate关键字。
C#
调用C++DLL注意事项
C#
调用C++DLL注意事项: 1>
C#
值类型与
引
用类
型
的内存特点 2>平台调用中DllImport,
Struct
Layout,MarshalAS的各属性及其含义 3>C++中结构体的内存布局规则 4>
C#
调用非托管代码时,各种参数的送封特点(主要是结构体,数组,字符串) 5>使用Marshal类的静态方法实现托管内存与非托管内存之间的转换 6>内存释放问题,即
C#
中如何释放非
深入
C#
里static readonly的安全性与内存分配[原创]
深入static readonly的安全与内存分配[原创] 问题起源:为了开发帧同步,在写定点数的Vector3类时,想要仿照Unity的Vector3给这个类加一些静态的只读
字段
,比如说Unity里的Vector3.up等等。 看了Unity源码后,我发现除了Unity的实现方式,还有好几种不同设计的方法(下面
会
列出)。这就引起了我的好奇心:这些方式有啥区别以及哪个更好,有没有办法再保证安全的情况下提升性能,减少没要的复制? 于是我通过测试与查看IL码(IL码就不贴出来了),做了一个比较(不考虑JIT的优
C#
111,111
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章