如何正确检查变量为null

时间:2018-04-07 15:05:58

标签: c# null

Screenshot of the Debugger

Employee projectManager = project.OwnerSolution.Employees.FirstOrDefault(x => x.ID == project.ProjectManager);
_lblProjectManagerValue.Text = projectManager != null ? projectManager.DisplayName : "Mitarbeiter nicht gefunden";

我想知道如何在C#中进行空检查。我期望运行时跳转到else分支,因为变量projectManager为空,但由于某种原因不是这种情况。

project.Employees确实返回空引用。

1 个答案:

答案 0 :(得分:1)

如果您的查询列表的任何部分可以为null,而不是手动检查if语句的大长列表中的每一个,只需使用Null-Conditional Operator

var projectManagerName = project?.OwnerSolution?.Employees?.FirstOrDefault(x => x.ID == project?.ProjectManager)?.DisplayName;
_lblProjectManagerValue.Text = projectManagerName ?? "Mitarbeiter nicht gefunden";