这是我代码的简化版本。
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)