检查的ToString前空() [英] Checking for null before ToString()

查看:248
本文介绍了检查的ToString前空()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的情景......

Here's the scenario...

if (entry.Properties["something"].Value != null)
  attribs.something = entry.Properties["something"].Value.ToString();

虽然有效,工作正常,这看起来丑陋的我。如果我执行的ToString前没有检查空(),那么它抛出,如果属性为null异常。有没有更好的方式来处理这种情况?

While effective and working correctly, this looks ugly to me. If I don't check for a null before performing the ToString() then it throws an exception if the property was null. Is there a better way to handle this scenario?

许多AP preciated!

Much appreciated!

推荐答案

(编辑以实际工作:))

(edited to actually work :) )

object defaultValue = "default";
attribs.something = (entry.Properties["something"].Value ?? defaultValue).ToString()

编辑:我也采取了利用这一点,这是不是非常聪明,但方便的:

I've also taken to using this, which isn't terribly clever but convenient:

public static string ToSafeString(this object obj)
{
    return (obj ?? string.Empty).ToString();
}

这篇关于检查的ToString前空()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆