用ref传入到类中的变量, 应该如何保存?

CSharp_XinBing 2008-11-22 02:31:51
我有这样二个类, CData保存的是从文件中读取的数据.
CDraw是用于在屏幕上显示CData的类.
我想在CDraw中存放CData m_clsData; 这样可以方便的调用CData中的数据了.
但是问题来了, 在CDraw外已经有一个CData了, 我想m_clsData只要存放CData的引入就可以了, 要不然再创建一个CData就太浪费内存了. CData是通过CDraw的InitData(ref CData clsdata)来传递的. 我想问一下, 在CDraw中如果用m_clsData = clsdata; 这样的语句, 但存的是引用吗? 如果这样是错误的, 应该如何声明这个变量, 谢谢!
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcniu 2008-11-22
  • 打赏
  • 举报
回复
没什么错吧
Fibona 2008-11-22
  • 打赏
  • 举报
回复
除了值类型(也就是常用的数值类型与bool类型)除外,

对于引用类型的传递,本身传的就是引用,所以加不加ref都不会差别
dz_huanbao 2008-11-22
  • 打赏
  • 举报
回复
建议研究一下C#中值类型和引用类型的基本知识。
对于引用类型,使用ref关键字是多余的。
所有引用类型在赋值时都是传递其引用,而不是其值的。

直接用公共字段来定义就好了:
public CData Data;

如果要设置为只能设置,用属性来定义:
public CData Data { protected get; set; }

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧