首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查空值的正确方法是什么?

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

Stack Overflow用户
提问于 2012-03-20 22:11:04
回答 8查看 9.4K关注 0票数 122

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

代码语言:javascript
复制
 int y = x ?? -1;

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

我希望我能这样做:

代码语言:javascript
复制
string y = Session["key"].ToString() ?? "none";

但是您不能这样做,因为.ToString()在null检查之前被调用,所以如果Session["key"]为null,它就会失败。我最终会这样做:

代码语言:javascript
复制
string y = Session["key"] == null ? "none" : Session["key"].ToString();

在我看来,它比三行替代方案更有效,更好:

代码语言:javascript
复制
string y = "none";
if (Session["key"] != null)
    y = Session["key"].ToString();

即使这是可行的,我仍然很好奇是否有更好的方法。似乎不管怎样,我总是要引用Session["key"]两次;一次是为了检查,另一次是为了赋值。有什么想法吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9788466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档