在这种情况下如何使用快捷方式运算符(???)?



这是我代码的简化版本。

class Address
{
public bool IsAppartment { get; set; }
}
class Employee
{
public string Name { get; set; }
public Address Address { get; set; }
} 
class Program
{
static void Main(string[] args)
{
Employee employee = new Employee()
{
Name = "Charlie"
};
if (employee.Address == null || !employee.Address.IsAppartment)
{
Console.WriteLine("Hello in if");
}
else
{
Console.WriteLine("Hello in else");
}
}
}

有没有办法使用任何短运算符(例如 ?. 或 ?? 或任何其他运算符(重写以下代码行?

if (employee.Address == null || !employee.Address.IsAppartment)

是的。?.运算符的全部意义在于避免在这种情况下检查 null。只需写:

if (employee.Address?.IsAppartment)

最新更新