日期:2014-05-18  浏览次数:20877 次

新手请问这种情况用Dictionary合适吗?
程序很简单类似那种脚本执行,用户把指令写到txt中,程序读取txt,根据用户的指令操作。每一个指令对应程序内的一个静态函数。
问题就是我预定义许多指令,怎样快速判断用户的指令并且调用相应函数?

不想用反射,慢。
switch case?指令很多,这样写不好吧。。。
所以我现在这样做:执行时程序运行后生成一个Dictionary<string, 自定义委托类型>,把每一个指令字符串和函数委托加到字典里,然后通过Dictionary.ContainsKey判断用户的指令,如果有指定,调用返回的委托。

本人数据结构算法什么的不是很好,只能想到这了,所以想咨询一下大牛们有没有什么更好的方法?

------解决方案--------------------
可以的,你这个功能,效率应该不需要太快,因为瓶颈应该在读取txt文件,查找指令应该不是瓶颈,所以应该是程序怎样简单就用什么数据结构,用Dictionary也是可以的,当然Dictionary效率也是最高的,因为它用的是散列,
------解决方案--------------------
估计当你超过200个指令时使用它的好处会是有直接价值的。
------解决方案--------------------
完全可以
------解决方案--------------------
这个可以使用
------解决方案--------------------
我觉得Dictionary<string, 自定义委托类型> 不错。
------解决方案--------------------
可以用,放心用