我不明白。As
运营商:
那么为什么以下工作?
struct Baby : ILive
{
public int Foo { get; set; }
public int Ggg()
{
return Foo;
}
}
interface ILive
{
int Ggg();
}
void Main()
{
ILive i = new Baby(){Foo = 1} as ILive; // ??????
Console.Write(i.Ggg()); // Output: 1
}
Baby
是一个结构,创建它会将值放入stack
. 此处不涉及参考。这里当然没有可为空的类型。
关于我为什么错的任何解释?