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)
所以我说下一个问题取决于当前问题的答案.我不需要为每个问题设置条件.我需要它是动态的.
我希望现在很清楚.有没有任何组件或设计模式或算法实现我所说的
欢迎所有想法.
听起来你可能想要一个查找表,有效地将对(输入问题,答案)映射到下一个要问的问题编号.如果表中没有条目,也许它应该默认为"转到下一个问题".
究竟如何在数据结构中表示它将取决于您用于存储问题的内容.例如,在SQL中,您可以拥有一个包含"输入问题,答案,下一个问题"列的表.在C#中,你可能有一个Dictionary<Tuple<int, int>, int>...或者可能(如果有不会是巨大的问题数)只是List<AnswerPath>其中AnswerPath含有相同的三个值作为SQL表会做.(更改名称,这很糟糕,但你明白了.)