这是一件不是真正的问题,我很抱歉,如果这是一个愚蠢的问题,但它只是我很好奇。假设我想将字符串参数解析为一个整数,如果该字符串不为空,则将该整数设置为-1。有没有更好的方式来写这样一句话:C#解析值如果不为空
int id = context.Request["Id"] == null ? -1 : int.Parse(context.Request["Id"]);
这似乎只是凌乱有评估字符串,看它是否是空,然后再对其进行评估分析它。现在我已经想到了,如果它不为null,那么就会出现对象并访问对象属性。所以像这样:
int id = person == null ? -1 : person.id;
这是公认的做法?
打我吧:) – Mastermnd 2012-07-30 19:47:47
这确实会导致不必要的'int.Parse(“ - 1”)',但是,而不是直接将值设置为-1。 – 2012-07-30 19:51:51
我甚至没有想过在将参数传递给解析方法时进行空检查,doh!现在看起来很简单。是的,无效的解引用操作符正是我所期待的,很高兴知道它存在,而不是C#。谢谢! – BurkDiggler 2012-07-30 20:12:41