正如其他人所說的,string
不需要?
(這是Nullable<string>
的快捷鍵),因爲所有的參考類型(class
es)都是可以爲空的。它僅適用於值類型(struct
s)。
除此之外,在檢查是否爲null
(或者您可以獲得NullReferenceException
)之前,您不應該在會話值上調用ToString()
。此外,您不必檢查ToString()
的結果null
,因爲它永遠不會返回null
(如果正確實施)。如果會話值爲空string
(""
),您確定要返回null
嗎?
這相當於你的意思寫:
public string SessionValue(string key)
{
if (HttpContext.Current.Session[key] == null)
return null;
string result = HttpContext.Current.Session[key].ToString();
return (result == "") ? null : result;
}
雖然我會寫這樣的(空車返回string
如果這就是會話值包含):
public string SessionValue(string key)
{
object value = HttpContext.Current.Session[key];
return (value == null) ? null : value.ToString();
}
「,因爲所有的引用類型(類)已經可以爲空。「 - >看起來並不如此。 `public class vector {public static vector func(){return null; }}`導致錯誤。 – Assimilater 2016-07-26 09:47:05