他の誰もが言ったように、string
必要はありません?
(これは のショートカットですNullable<string>
)。すべての参照型 ( class
es) は既に nullable であるためです。struct
値型 ( s)にのみ適用されます。
それとは別にToString()
、セッション値がそうであるかどうかを確認する前に、セッション値を呼び出してはなりませんnull
(または を取得できますNullReferenceException
)。また、 (正しく実装されていれば)返されないため、 ToString()
forの結果をチェックする必要はありません。セッション値が空( ) の場合に戻りますか?null
null
null
string
""
これは、あなたが書くつもりだったものと同じです:
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();
}