C# 如何在没有类型转换的情况下将会话值赋给字符串
我想将会话的值转换为字符串,而不需要在ASP.NET中进行类型转换和转换 但是我想在不进行任何转换的情况下,将Session[“username”]的值转换为temp变量。C# 如何在没有类型转换的情况下将会话值赋给字符串,c#,asp.net,.net,C#,Asp.net,.net,我想将会话的值转换为字符串,而不需要在ASP.NET中进行类型转换和转换 但是我想在不进行任何转换的情况下,将Session[“username”]的值转换为temp变量。 示例-正确的方法是: string temp; Session["username"] = "Joy"; temp = Session["username"].ToString(); 会话将对象作为值保存,因此需要将对象强制转换为正确的类型以获得类型的强度。 会话值可以为null,因此需要进行检查 string temp;
示例-正确的方法是:
string temp;
Session["username"] = "Joy";
temp = Session["username"].ToString();
会话将对象作为值保存,因此需要将对象强制转换为正确的类型以获得类型的强度。 会话值可以为null,因此需要进行检查
string temp;
Session["username"]="Joy";
temp=Session["username"] as string;
如果您使用此选项:
object temp = Session["username"]; // temp is just a basic object.
另一个问题是,由于会话持有对象,因此值类型被“装箱”到对象中。如果要对值类型进行大小写,则不能使用“as”转换,因此:
int intTemp;
Session["num"]= 7; // int is boxed into an object
intTemp = (int)Session["num"]; // unboxed back to int
intTemp = Session["num"] as int; // cannot be done!!!
由于会话是Object类型(所以您可以放入任何内容),如果您想读取它,您需要将其转换回String 首选的方法是(因为它可能还不存在于您的会话中) 请试试这个
temp=Session["username"] as string;
由于会话是一个对象,有必要将其键入首选类型。使用值类型时,可以使用“As int?”如果使用
As
关键字将对象强制转换为int,则为true。但是,通过将强制转换为int?
(或Nullable
),您仍然可以使用作为,这将安全地强制转换null
、int
或int?
。因此,允许在不首先将其放入对象变量的情况下进行null检查。可为null的int不是int,那么为什么要将int强制转换为可为null的int呢?使用()强制转换来转换值类型。亲爱的,我知道session是对象,但我想知道我可以将session的值转换为字符串而不进行任何类型强制转换或转换。有没有可能
temp=Session["username"] as string;