0
爲什麼這個程序仍然輸出「不爲空」即使一切都是空的?我必須改變什麼才能最終使其爲空?爲什麼這個程序仍然輸出「不爲空」?
「您的帖子沒有太多的上下文來解釋代碼段,請更清楚地解釋您的場景。」對不起...
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;'會給你null,但是'BitmapImage myBitmap = new BitmapImage();'將創建一個不等於null的類的實例 – 2013-01-10 22:28:23
爲什麼你認爲'(IAdvancedDraw)myBitmap'必須是' NULL'? –
也許你真的想學習['as'](http://msdn.microsoft.com/en-us/library/cscsdfbt(v = vs.110).aspx)運算符和繼承。但是,您需要嘗試將其轉換爲類似字符串的錯誤類型以獲取「null」。由於'BitmapImage'繼承自'IAdvancedDraw',所以轉換成功。 –