嵌套三个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;
}
}
我不确定我做错了什么。如果您需要更多的信息,请告诉我。
您需要删除代码中的else
,因为只有满足条件的第一个if子句将被执行
和IsNullOrEmpty
是String
类上的静态方法。使用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
的方法中,以减少你的属性中的代码(在我看来这很难看)