条件逻辑动态

Moh*_*bet 2 c# algorithm design-patterns

我搜索可重用的工具或算法,使我能够动态地将条件逻辑应用于问题.

让我们详细解释一下:

问题1 - 你的年龄是多少?

a) less 18        
b)between 18-25     
c) greater than 25
Run Code Online (Sandbox Code Playgroud)

如果他选择

a) then he go to Question 2 
b) he will goto question 5 
c) he will goto question 7 
Run Code Online (Sandbox Code Playgroud)

所以我说下一个问题取决于当前问题的答案.我不需要为每个问题设置条件.我需要它是动态的.

我希望现在很清楚.有没有任何组件或设计模式或算法实现我所说的

欢迎所有想法.

Jon*_*eet 5

听起来你可能想要一个查找表,有效地将对(输入问题,答案)映射到下一个要问的问题编号.如果表中没有条目,也许它应该默认为"转到下一个问题".

究竟如何在数据结构中表示它将取决于您用于存储问题的内容.例如,在SQL中,您可以拥有一个包含"输入问题,答案,下一个问题"列的表.在C#中,你可能有一个Dictionary<Tuple<int, int>, int>...或者可能(如果有不会是巨大的问题数)只是List<AnswerPath>其中AnswerPath含有相同的三个值作为SQL表会做.(更改名称,这很糟糕,但你明白了.)