对于装箱和拆箱的概念上的问题。

Binlorima 2006-10-12 08:44:18
C#完全手册中说道:装箱转换和拆箱转换必须遵守类型兼容原则。
我想问必须遵守什么类型兼容原则? 类型兼容原则具体指什么?

顺便问:如果定义:
public char c;
public struct a
{
int x;
int y;
}
public a aa;
c = aa;
这样为什么不可以?不是装箱和拆箱机制使得在c#类型系统中,任何类型、引用类型和object(对象)类型之间进行转换(这个也是C#完全手册中的原话)吗?
难道我举的这个例子违反了类型兼容原则了吗?
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Binlorima 2006-10-14
  • 打赏
  • 举报
回复
原来是这样啊,谢谢
viena 2006-10-13
  • 打赏
  • 举报
回复
//书中已经说了任何类型之间都可以转换了
恐怕不是这个意思,是说任何类型都可以与Object互转,而不是任何类型之间!
Binlorima 2006-10-13
  • 打赏
  • 举报
回复
gezichong,我不懂这个,你能说的详细点吗?
在我的机器上就是不能编译通过。
gezichong 2006-10-13
  • 打赏
  • 举报
回复
public a aa;
c = aa;
这样可以啊??????想不通唉!!!!!!
Binlorima 2006-10-13
  • 打赏
  • 举报
回复
好像不像你说得这样,
书中已经说了任何类型之间都可以转换了,为什么我写的那段代码还是编译不通过?

有没有了解这方面内容的人能解释的详细一点。
Tenner 2006-10-13
  • 打赏
  • 举报
回复
楼上正解
任何类型都可以和object互转的
woaihuwu 2006-10-12
  • 打赏
  • 举报
回复
兼容原则就是要遵守:
类型的长度,应该是从短到长自由转换,要从长到短就要强制转换,
然而装箱和拆箱:
装箱是把普通的类型转换成object 类型 ,拆箱则就是反其道而行的!

/* 应该就是这样的吧,我的QQ是5550846 爱好编程的朋友请加我!*/

111,125

社区成员

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

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

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