セッションがnullまたは空であること、つまり次のようなことを確認したい:
if(Session["emp_num"] != null)
{
if (!string.IsNullOrEmpty(Session["emp_num"].ToString()))
{
//The code
}
}
あるいは単に
if(Session["emp_num"] != null)
{
// The code
}
時々私がチェックするとき:
if (!string.IsNullOrEmpty(Session["emp_num"].ToString()))
{
//The code
}
私は次の例外に直面しています:
ヌル参照例外
セッション変数emp_numが文字列を保存する場合、これを使用します。
if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
//The code
}
文字列ではなく、他の型を格納する場合は、2番目の例のように、値にアクセスする前にnullをチェックするだけです。
if (HttpContext.Current.Session["emp_num"] != null)
{
// code if session is not null
}
文字列に変換する前に、Session["emp_num"]
がnull
ではないことを確認する必要があります。そうしないと、null参照例外が発生します。
最初の例で説明しますが、もう少し「エレガント」にできます。
いくつかの方法がありますが、思い浮かぶものは次のとおりです。
if (Session["emp_num"] is string)
{
}
または
if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
}
変数が存在しないか、文字列でない場合、nullを返します。
まず、セッションに_Session["emp_num"]
_が存在するかどうかを確認する必要があります。
セッションオブジェクトにインデクサーに_emp_num
_値があるかどうかを尋ねるか、string.IsNullOrEmpty(Session["emp_num"])
を使用できます
C#MVCバージョン5より前のセッションが空かどうかを確認します。
if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
//cast it and use it
//business logic
}
C#MVC Version Above 5でセッションが空かどうかを確認します。
if(Session["emp_num"] != null)
{
//cast it and use it
//business logic
}
単純なSeesionである場合は、Null
を適用できますif(Session["Session_name"] !=null)
を使用してチェックします
ただし、リストのセッションの場合は、1または2のいずれかを適用する必要があります
オプション1:
if (((List<int>)(Session["Session_name"])) != null &&
(List<int>)Session["Session_name"])).Count > 0)
オプション2:
List<int> val= Session["Session_name"] as List<int>`;`//Get the value`
if (val.FirstOrDefault() != null)