我有一个字符串列表(一个List<String>
),可以有1到6个条目的任何地方。我希望能够做的就是使用该字符串列表进行查找,但是我希望可能的查找能够使用2个或更多这些字符串的任意组合来执行查找。目前我正在使用Dictionary<List<String>, String>
。如何使用字符串列表进行查找?
ex。 假设我的名单中有以下内容:“火”,“航空”,“雷声”,“水”,“暴风雪”和我在我的字典以下条目:
List<String>(){"fire", "aero"}, "searing wind"
List<String>(){"fire", "aero", "thunder"} "firestorm"
List<String>(){"aero", "thunder"}, "storm"
List<String>(){"aero", "water", "blizzard"}, "snowstorm"
List<String>(){"aerora", "blizzara"}, "hailstorm"
希望查找返回前4个条目,因为我的基础列表包含查找它们所需的所有值。我还需要能够知道使用哪些值进行查找,因为稍后需要从基本列表中清除这些值。字典中的条目数可能会大约为400
我可以想到一个详尽的方法来执行此查找,但是因为执行查找时顺序将很重要的事实,所以它会花费时间做出所有的排列并查找它们。如果可以帮助,我可以在字典键列表中强制执行字母顺序。有没有人知道有更好的方法来做到这一点,或者是另一种更有效的方式来做到这一点?我已经在这个程序中使用sqlite的一些其他的东西,所以如果这将让我更快的查找我可以使用它。
感谢