对于装箱和拆箱的概念上的问题。
C#完全手册中说道:装箱转换和拆箱转换必须遵守类型兼容原则。
我想问必须遵守什么类型兼容原则? 类型兼容原则具体指什么?
顺便问:如果定义:
public char c;
public struct a
{
int x;
int y;
}
public a aa;
c = aa;
这样为什么不可以?不是装箱和拆箱机制使得在c#类型系统中,任何类型、引用类型和object(对象)类型之间进行转换(这个也是C#完全手册中的原话)吗?
难道我举的这个例子违反了类型兼容原则了吗?