如何在.net c#中检查会话是否存在,值为空或为null

问题描述

| 有谁知道如何检查.net c#Web应用程序中的会话为空还是空? 例: 我有以下代码
 ixCardType.SelectedValue = Session[\"ixCardType\"].ToString();
它总是显示Session [\“ ixCardType \”]的错误错误消息:对象引用未设置为对象的实例)。无论如何,我可以在转到.ToString()之前检查会话。     

解决方法

像“ if”这样简单的事情应该起作用。
 if(Session[\"ixCardType\"] != null)    
     ixCardType.SelectedValue = Session[\"ixCardType\"].ToString();
或类似以下内容,如果您希望在会话值为null时使用空字符串:
ixCardType.SelectedValue = Session[\"ixCardType\"] == null? \"\" : Session[\"ixCardType\"].ToString();
    ,使用
as
运算符转换
object
,如果该值未能转换为所需的
class
类型,或者它本身是
null
,则返回
null
string value = Session[\"ixCardType\"] as string;

if (String.IsNullOrEmpty(value))
{
    // null or empty
}
    ,您可以将结果分配给变量,并在调用ToString()之前对其进行空/空测试:
var cardType = Session[\"ixCardType\"];
if (cardType != null)
{
    ixCardType.SelectedValue = cardType.ToString();
}