如何摆脱代码中的if-else条件

时间:2015-05-12 10:59:30

标签: c# if-statement design-patterns

我想创建一些控制台应用程序。此应用程序将使用输入args []数组中的参数。

像这样:> app.exe -arg1 -arg2 -arg3:str3 -arg4:str4 -arg5 etc.

其中-arg1, -arg2, -arg5我的应用中初始化变量的参数。带有任何字符串的-arg3:str3 and -arg4:str4参数。

例如,如果我在我的应用中发送了-arg1,我需要用任何字符串初始化var1。像这样:

foreach (string s in args)
{
    if(s.contains("-arg1")) someString1 = "someVal1";
    if(s.contains("-arg2")) someString2 = "someVal2";
    if(s.contains("-arg5")) someString5 = "someVal5";
    if(s.contains("-arg3")) someString3 = s.split(':')[1];
    if(s.contains("-arg4")) someString4 = s.split(':')[1];
}

我认为我的解决方案很糟糕,因为我需要在循环中测试每个参数,如果我想传递更多新参数,我必须添加新条件。

请告诉我,也许有解决我问题的具体方法? 或许这些任务有一些设计模式?

编辑:我无法使用任何库

0 个答案:

没有答案