【发布时间】:2021-07-11 12:53:24
【问题描述】:
这些空的双括号在这个表达式中有什么作用?
record MyRecord(int i, int? j);
public void MyMethod()
{
MyRecord myVar = new(10);
if (myVar is { i: { } })
{
// ?
}
if (myVar is { j: { } })
{
// ?
}
}
我没有在参考页面中找到。
这只是检查null 的另一种方式吗?
【问题讨论】:
-
看起来像是一些匿名类型检查。但是匿名类型必须事先定义。
-
你能分享一个minimal reproducible example吗?
-
@mjwills 我真的认为那行就足够了,但没关系。刚刚用一个最小的可重现示例更新了问题......
-
@JL0PD 谢谢!您要提交答案以便我接受吗?
标签: c#