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
确实返回空引用。
答案 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";