我可以分配如下变量:
if (Session["myVariable"] != null)
{
string variAble = Session["myVariable"].ToString();
}
有没有一种方法可以检查一个对象是否为空,如果它不为空则赋值?
string variAble = Session["myVariable"] ?? "";
编辑@hatchet 建议的稍微更健壮的形式是:
string variAble = (Session["myVariable"] ?? "").ToString();
虽然这不是什么新鲜事,但您可以使用条件运算符来潜在地简化它:
string variable = Session["myVariable"] != null ? Session["myVariable"].ToString() : "Fallback";
您可以编写一个扩展方法,因为它们仍然适用于空对象。
public static class StringExtensions
{
public static String ToNullString(this object o)
{
return o == null ? "" : o.ToString();
}
}
不过,我会认为它的形式很糟糕——它会让在你之后支持代码的人感到困惑,甚至会让你在接下来的几个月里感到困惑。最好只做空检查。