关于检查类型,我们只有一个运算符,它可以一次有效地执行两件事:
if (GetObject() is DateTimeOffset dto)
{
// use dto here
}
在此示例中,不仅dto
具有特定的类型DateTimeOffset
,而且该值是局部的,并且已被完全评估。
那么,C#8.0是否提供类似的运算符来检查非空值?
if (GetPossibleNull() is not null x)
{
// x is local, evaluated and guaranteed to be not-null
}
您可以使用空的属性模式({}
)来检查变量是否不是null