2010-11-22 63 views

回答

16

MemoryStream是引用類型(與class關鍵字聲明),因此已經是可空的本身。只有值類型(用struct關鍵字聲明)不可空,且可以用?可以爲空。

那麼你的方法應該是這樣的:

public MemoryStream GetResponseStream() { ... } 

和你這樣的方法調用:

MemoryStream stream = GetResponseStream(); 
if (stream == null) { ... } 

BTW:你可能要考慮使用異常的信號,在GetResponseStream發生錯誤而不是返回null

1

MemoryStream是一個引用類型,所以可以爲null。只有值類型可以製作爲Nullable<T>,因爲否則它們不允許分配空值。

0

只有值類型可以爲空,而不是引用類型。 A MemoryStream已經可以爲空,所以它沒有意義使它可以爲空

0

不需要?作爲參考類型可以是null

public MemoryStream GetResponseStream() 
{ 
    return(null); 
} 
0

可爲空的修飾符(?)僅用於值類型。一個流是一個對象類型,它總是可以設置爲null(它本質上已經是'可空')。所以沒有必要去做你想做的事情。