嵌套三个if语句

本文关键字:三个 if 语句 嵌套 | 更新日期: 2023-09-27 18:06:46

我想检查条件"_Email"是否第一次满足,并将结果传递给下一个if语句进行另一次检查,然后再进行一次检查。如果_Email是空的,我希望它是一个空字符串为最后一次检查。

代码

    private string _Email;
    public string Email
    {
        get
        {
            if (String.IsNullOrEmpty(_Email))
            {
                _Email = GetEmailAddress();
            }
            else if (_Email.IsEmptyOrNull())
            {
                _Email = User.Current.Preference("Email");
            }
            else if (_Email.IsEmptyOrNull())
            {
                _Email = "";
            }
            return _Email;
        }
    }

我不确定我做错了什么。如果您需要更多的信息,请告诉我。

嵌套三个if语句

您需要删除代码中的else,因为只有满足条件的第一个if子句将被执行

IsNullOrEmptyString类上的静态方法。使用String.IsNullOrEmpty代替_Email.IsNullOrEmpty。(当我尝试像_Email.IsNullOrEmpty那样做时,我会得到编译器错误)

private string _Email;
public string Email
{
    get
    {
        if (String.IsNullOrEmpty(_Email))
        {
            _Email = GetEmailAddress();
        }
        if (String.IsNullOrEmpty(_Email))
        {
            _Email = User.Current.Preference("Email");
        }
        if (String.IsNullOrEmpty(_Email))
        {
            _Email = "";
        }
        return _Email;
    }
}

,我建议将你的代码移动到一个叫做GetEmail的方法中,以减少你的属性中的代码(在我看来这很难看)