为什么这个程序仍然输出“不为空”

本文关键字:不为空 输出 程序 为什么 | 更新日期: 2023-09-27 17:52:34

为什么这个程序仍然输出"not null",即使一切都是空的?我要做什么改变才能最终使它为空?

"你的文章没有太多的上下文来解释代码部分;请更清楚地解释你的场景。"对不起……

public interface IDrawable 
{
    void Draw();
}
public interface IAdvancedDraw : IDrawable
{
    void DrawInBoundingBox();
    void DrawUpsideDown();
}
public class BitmapImage : IAdvancedDraw
{
    public void Draw() { }
    public void DrawInBoundingBox() { }
    public void DrawUpsideDown() { }
}
class Program
{
    static void Main( string[] args )
    {
        BitmapImage myBitmap = new BitmapImage();
        if ((IAdvancedDraw)myBitmap != null){
            Console.WriteLine("not null"); 
        }
        Console.ReadLine();
    }
}

为什么这个程序仍然输出“不为空”

因为它是初始化的,所以不为空。

BitmapImage myBitmap = new BitmapImage();

新操作符

你总是得到"not null',因为在myBitmap中总是有一些 -毕竟,你只是创建了一个new BitmapImage()并把它放在那里!