我有一個字符串列表(一個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的一些其他的東西,所以如果這將讓我更快的查找我可以使用它。
感謝