Я неравнодушен к использованию операторов switch в массиве arguments и установке свойств в каком-либо классе конфигурации для каждого ожидаемого аргумента. Похоже, вы ожидаете очень специфически отформатированной строки аргумента, а не допускаете установки значений, вы можете попробовать:
if(args[0].Trim() == PROCESS_OPTION_ONE || args[0].Trim() == PROCESS_OPTION_TWO)
{
//Process file - Argument 2
switch(args[1].Trim()
{
case PROCESS_CUSTOMER, PROCESS_ADMIN, PROCESS_MEMBER, PROCESS_GUEST, PROCESS_USER:
// Do stuff
break;
default:
// Do other stuff
break;
}
}
Мой предпочтительный метод будет выглядеть примерно так:
foreach(string arg in args)
{
switch(arg)
{
case PROCESS_CUSTOMER:
// Set property
break;
...
default:
// Exception?
break;
}
}
ПРИМЕЧАНИЕ: args.Length == 1 быстрее, чем args.Length> 0 && args.Length <2. Это также немного более читабельно. </p>