Roy*_*mir 24 .net c# casting as-operator
我不明白.该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.这里没有参考.
这里肯定没有可空类型.
关于我为什么错的任何解释?
Mar*_*ell 34
将其作为接口进行转换将在托管堆上创建一个盒装副本,并返回对盒装副本的引用.该框实现了界面.