私は、1から6までの任意のエントリを持つことができる文字列のリスト(List<String>
)を持っています。私ができるようにしたいのは、その文字列のリストを使ってルックアップを行うことですが、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を使用しているので、私はそれを使用することができる私はより速い検索を与えるつもりなら。あなたが探検することをお勧めします
おかげ