【发布时间】:2018-06-19 16:59:49
【问题描述】:
我们知道,空条件运算符是 c# 6.0(https://msdn.microsoft.com/en-us/magazine/dn802602.aspx) 中的新内容。我尝试在 WPF(.net framework 4.6.1) 中使用它。
这是我正确的代码:
PackageButtonClass PBC = PackageButtonList.Find(x => x.Index == index + 1);
if (PBC != null)
{
PBC.IsEnabled = false;
}
我想使用空条件运算符使其简短,如下所示:
PackageButtonList.Find(x => x.Index == index + 1)?.IsEnabled = false;
但是,WPF 会抛出一个错误,即“赋值的左侧必须是变量、属性或索引器”
我的代码有什么问题?您能帮帮我吗?谢谢。
【问题讨论】:
-
问题:在所有这些样本中,您是否看到任何分配?此外,这不是 WPF 问题。
-
@john 你展示的也许是我想要的,谢谢。
-
如果你想要单行,你可以做一个类似于ForEach的扩展方法,以delegate为参数,当值不为null时执行delegate。