检查空值的正确方法是什么?

雪佛兰

我喜欢null-coalescing运算符,因为它使为可为null的类型分配默认值变得容易。

 int y = x ?? -1;

很好,除非我需要使用做一些简单的事情x例如,如果我想检查Session,那么我通常最终不得不写一些更冗长的内容。

我希望我可以这样做:

string y = Session["key"].ToString() ?? "none";

但是您不能这样做,因为在.ToString()空检查之前会先调用gets,因此如果Session["key"]为空则失败我最终这样做:

string y = Session["key"] == null ? "none" : Session["key"].ToString();

我认为,此方法行之有效,并且比三行方法更好:

string y = "none";
if (Session["key"] != null)
    y = Session["key"].ToString();

即使这行得通,但我仍然好奇是否有更好的方法。看来我总是必须Session["key"]两次引用一次检查,再一次分配。有任何想法吗?

黑熊

关于什么

string y = (Session["key"] ?? "none").ToString();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查网址类型值的正确方法是什么?

检查开关参数的正确方法是什么

检查False的正确方法是什么?

检查varchar2是否为空的正确方法是什么?

检查数据库中单元格是否为空的正确方法是什么

在C#中检查浮点变量的确切值相等的正确方法是什么?

检查Python中元组是否有空/无值的最佳方法是什么?

检查多个空值的最佳方法是什么?例如if(foo.bar.giz.mo.x === 123)

在带有streamreader的Using语句中检查空值的最佳方法是什么?

导出组件值的正确方法是什么?

什么是使用jQuery检查输入表单字段值(空和null ..)的正确方法?

检查NSString是否为空/空的防弹方法是什么?

检查nil指针取消引用的正确方法是什么?

检查集合是否存在的正确方法是什么?

检查常量是否已定义的正确方法是什么?

在Rust中编写双重检查锁定的正确方法是什么?

检查“'”的正确方法是什么?在案件陈述中

检查全局变量是否存在的正确方法是什么?

检查迭代器是否完整的正确方法是什么?

检查JSON是否具有密钥的正确方法是什么?

多次检查“无”-Python中正确的方法是什么

检查Torch :: Tensor是否为空的最佳方法是什么?

对象 null 和空检查的最佳方法是什么?

检查空请求正文的最佳方法是什么?

使文本列不为空的正确方法是什么

表示空XML元素的正确方法是什么?

处理异步函数的空响应的正确方法是什么?

正确的方法是什么?

修改 HashMap 中条目值的正确方法是什么?