CJ7*_*CJ7 0 c# enums switch-statement
如何对以下内容进行编码以便编译C#?编译器错误是:the label 'case 3:' already occurs in this switch statement.
switch (customerType)
{
case CustomerType.Private:
return externCustomerType.P;
case CustomerType.Business:
return externCustomerType.B;
case CustomerType.Interstate:
case CustomerType.Overseas:
return externCustomerType.I;
default:
return externCustomerType.N;
}
public enum CustomerType
{
Unknown = 0,
Private = 1,
Business = 2,
Interstate = 3,
Overseas = 3
}
Run Code Online (Sandbox Code Playgroud)
这足够了
switch (customerType)
{
case CustomerType.Private:
return externCustomerType.P;
case CustomerType.Business:
return externCustomerType.B;
case CustomerType.Interstate:
return externCustomerType.I;
default:
return externCustomerType.N;
}
Run Code Online (Sandbox Code Playgroud)
由于这两个Overseas和Interstate具有3值,使之工作,如果customerType有任一值(因为实际上它只是一个3值,你需要使用不同的枚举值分配相同的整数值).
如果你想独立于枚举的值,重写你switch的ifs:
if (customerType == CustomerType.Private)
return externCustomerType.P;
else if (customerType == CustomerType.Business)
return externCustomerType.B;
else if (customerType == CustomerType.Overseas || customerType == CustomerType.Interstate)
return externCustomerType.I;
else
return externCustomerType.N;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |