我想写一下如果c#中的Else条件更短,你可以在下面观察我的代码吗'那么冗长..我想要用更短的方式写,帮助我任何人都知道.我们可以使用其他任何方式来写它吗?
int paymentType;
if (lblPayment.Text == "Credit")
{
paymentType = 1;
}
else if (lblPayment.Text == "Open Invoice")
{
paymentType = 2;
}
else if (lblPayment.Text == "COD")
{
paymentType = 3;
}
else if (lblPayment.Text == "Check")
{
paymentType = 4;
}
else if (lblPayment.Text == "Paypal")
{
paymentType = 5;
}
else if (lblPayment.Text == "Money Order")
{
paymentType = 6;
}
else if (lblPayment.Text == "Other")
{
paymentType = 7;
}
Run Code Online (Sandbox Code Playgroud)
Bas*_*Bas 14
请考虑使用字典:
Dictionary<string, int> lookup = new Dictionary<string, int>();
lookup.Add("Credit", 1);
lookup.Add("Open Invoice", 2);
//etc
Run Code Online (Sandbox Code Playgroud)
然后:
int paymentType = lookup[lblPayment.Text];
Run Code Online (Sandbox Code Playgroud)
KeyNotFoundException如果字典中不存在该值,则抛出一个.如果要在查找表中不存在该值时提供默认值或执行其他操作,可以使用TryGetValue如下:
int paymentType;
if (lookup.TryGetValue(lblPayment.Text, out paymentType)) {
//do stuff with paymentType
} else {
//handle error, paymentType is now 0.
}
Run Code Online (Sandbox Code Playgroud)
使用switch语句:
switch(lblPayment.Text)
{
case "Credit":
paymentType = 1;
break;
case "Open Invoice":
paymentType = 2;
break;
......
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |