【发布时间】:2018-03-01 22:01:41
【问题描述】:
所以我刚刚发现了 null 合并三元运算符,但我似乎无法弄清楚为什么我的变量仍然在下面的代码行中设置为 null。
MenuItem parent = (treeView.SelectedItem ?? treeView.Items[0]) as MenuItem;
treeView 对象确实有多个项目。
无论treeView是否有选中项,变量始终为空。
任何帮助将不胜感激,谢谢:)
【问题讨论】:
-
也许不是
MenuItem?as T将返回null如果它不强制转换。 -
空合并运算符是二元运算符,不是三元运算符。
-
@TobySmith 那么那里也是错的。注意有两个操作数,而不是三个。
-
@TobySmith
??有两个操作数。 DotNetPerls 不是终止参数的权威; MSDN 是。你会发现 MSDN 同意 Servy。
标签: c# null-coalescing-operator