如何在if语句中将Session变量用作整数?

MrM*_*MrM 0 .net c# asp.net asp.net-mvc

我有一个存储int的Session.我通常做以下事情......

if(Session["test"] == null)
Run Code Online (Sandbox Code Playgroud)

现在我正在比较......

public ActionResult NumbersGame(int myNum)
{
if(Session["test"] != myNum)...
Run Code Online (Sandbox Code Playgroud)

我怎么做?

Chr*_*old 5

(int)如果该会话变量为null或不是数字,则Session ["test"]将失败.用这个代替......

var myNumber = Convert.ToInt32(Session["test"]);
Run Code Online (Sandbox Code Playgroud)

如果'test'为null或不是数字,myNumber将为0

  • 这可能会掩盖一个不应该掩盖的问题.如果0是有效数字,则可能需要抛出该异常(或者首先显式检查null). (2认同)