我有这个应用程序在数据库中搜索客户的地址。我添加了4 Textbox
即txtAddr1
,txtAddr2
,txtAddr3
和txtAdd4
,它们将在数据库中显示客户的地址。在数据库中,地址有6个字段,它们是Address1, Address2, Address3, Address4, CityPostalcode and AttentionTo
。我需要做以下事情:
如果数据库中的所有地址(Address1, Address2, Address3, Address4, CityPostalcode and AttentionTo
)都不为空。然后,
txtAddress1.Text = Address1 + " " + Address2;
txtAddress2.Text = Address3 + " " + Address4;
txtAddress3.Text = CityPostalcode;
txtAddress4.Text = AttentionTo;
如果Address3和Address4为空,
txtAddress1.Text = Address1;
txtAddress2.Text = Address2;
txtAddress3.Text = CityPostalcode;
txtAddress4.Text = AttentionTo;
其他情况如地址3为空,地址1和地址3为空等等。
我知道我可以使用If...Else
条件来解决这个问题,但我的问题是,有没有其他方法可以做到这一点?或者我会坚持在每个场景中执行If...Else
条件吗?感谢。
答案 0 :(得分:1)
你可以使用三元运算符?:
来说
txtAddress1.Text = (!string.IsNullOrEmpty(Address2))
? Address1 + " " + Address2
: Address1;
答案 1 :(得分:0)
我会在地址类上创建一些额外的只读属性来确定状态。
class Address
{
public bool DoesntHaveAddress3or4 { get { return string.IsEmptyOrWhiteSpace(this.Address3) && string.IsEmptyOrWhiteSpace(this.Address4); } }
public bool DoesntHaveAddress3 { get { return string.IsEmptyOrWhiteSpace(this.Address3); } }
}
然后您可以在设置文本框时使用它:
if (address.DoesntHaveAddress3or4) {
// set the appropriate text boxes.
}
您可以使用更复杂的模式 - 但这将完全符合您的要求,并且对您正在做的事情更具描述性。