web-dev-qa-db-ja.com

空かどうかを確認するセッション

セッションが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
                }

私は次の例外に直面しています:

ヌル参照例外

25

セッション変数emp_numが文字列を保存する場合、これを使用します。

 if (!string.IsNullOrEmpty(Session["emp_num"] as string))
 {
                //The code
 }

文字列ではなく、他の型を格納する場合は、2番目の例のように、値にアクセスする前にnullをチェックするだけです。

55
Roy Goode
if (HttpContext.Current.Session["emp_num"] != null)
{
     // code if session is not null
}
  • 上記のすべてが失敗した場合。
10
Nirali

文字列に変換する前に、Session["emp_num"]nullではないことを確認する必要があります。そうしないと、null参照例外が発生します。

最初の例で説明しますが、もう少し「エレガント」にできます。

いくつかの方法がありますが、思い浮かぶものは次のとおりです。

if (Session["emp_num"] is string)
{
}

または

if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
}

変数が存在しないか、文字列でない場合、nullを返します。

5
ChrisF

まず、セッションに_Session["emp_num"]_が存在するかどうかを確認する必要があります。

セッションオブジェクトにインデクサーに_emp_num_値があるかどうかを尋ねるか、string.IsNullOrEmpty(Session["emp_num"])を使用できます

2
Peter

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
}
0
vishpatel73

単純な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)
0
Chandan Kumar