【发布时间】:2014-09-11 14:49:03
【问题描述】:
我正在构建一个控制台应用程序来帮助加快我经常做的一些事情。我有一个包含 4 个过程选项的菜单,它们可以转换为我班级中的不同方法。
基本上是这样的:
你想做什么?
1 这个东西
2 那个东西
3 一些东西
4 很酷的东西
0 所有的东西。
输入命令字符串:_
目前我正在检查有效输入:
while (command.IndexOfAny("12340".ToCharArray()) == -1)
{
//Display the menu and accept input
}
然后控制流:
if (command.IndexOf("1") > 0 )
{
thisThing();
}
if (command.IndexOf("2") > 0 )
{
thatThing();
}
if (command.IndexOf("3") > 0 )
{
someStuff();
}
if (command.IndexOf("4") > 0 )
{
coolStuff();
}
if (command.IndexOf("0") > 0 )
{
thisThing();
thatThing();
someStuff();
coolStuff();
}
目标是提供输入并按照指示运行一个或多个进程:
1 : thisThing()
13 : thisThing() 和 someStuff();
42 : thatThing() 和coolStuff();
0 : 运行我定义的所有进程。
有没有办法通过更好的做法来做这样的事情?
【问题讨论】:
-
老实说,我会在 win 表单或 WPF 中创建一个 gui,然后将按钮单击映射到进程。此外,如果您需要执行 thisThing() => someStuff() => thisThing(),则无法使用此方法运行命令两次。
-
是的,我也想过使用带有按钮的 GUI,但我想我为了简单起见决定使用控制台。我对这些东西真的很陌生,所以 GUI 的东西让我有点害怕。目前,这只是可以分解成更大事物模块的一小部分——在这一点上,可能应该做这样的事情。现在,它只是一个 .exe 文件,可以帮助我在数据库中设置一个新客户端,其中有几项任务可能需要完成,也可能不需要完成。感谢您的宝贵时间!
标签: c# console string-parsing flow-control