说实话,我在用c#中的if else语句感到麻烦,我是这种编程语言的初学者。我知道if else语句的基本知识。对此代码,我不确定该怎么办。
AccountCreateView view = new AccountCreateView()
{
UserInfo = new UserInfoData()
{
if (view.ChangeRefCode == "5")
{
TransmissonCode = "0",
DeliveryCode = "0"
}
else
{
TransmissonCode = "1",
DeliveryCode = "1"
}
},
UserLogin = new UserLoginData(),
UserPassword1 = null,
UserPassword2 = null,
};
如果我在Userinfo = new Userinfo
中使用if语句,那么我的代码将变成红色。
请帮助我。我将不胜感激。预先感谢。
答案 0 :(得分:2)
如果在对象初始化块内不允许使用语句。您只能将表达式放在=
运算符的右侧。
您可以改用三元运算符:
UserInfo = new UserInfoData()
{
TransmissonCode = view.ChangeRefCode == "5" ? "1" : "0",
DeliveryCode = view.ChangeRefCode == "5" ? "1" : "0",
};
格式为x ? y : z
的表达式,其中x
是计算为bool
重复的表达式,而y
和z
是计算为兼容类型,如果y
的计算结果为x
,则计算为true
,否则为z
。
您不能为view
使用对象初始化程序:
AccountCreateView view = new AccountCreateView();
view.UserInfo = new UserInfoData() { <see first code snippet> };
view.UserLogin = new UserLoginData();
view.UserPassword1 = null;
view.UserPassword2 = null;