私は、さまざまなコンテキスト(一般的なコンテキスト、メニューコンテキスト、ゲームコンテキストなど)のテキストを扱うテキストマネージャクラスを作成しました。C#辞書内で辞書を検索する最速の方法
すべてのコンテキストは、バイナリテキストファイルを使用して作成され、データは、このような辞書内の辞書に格納されます。
このように動作しますprivate Dictionary<string, Dictionary<string, string>> m_TextContexs;
:私は希望
m_TextContexs[context][textID][actual text]
ユーザは、次のような関数内の 'textID
'文字列の文字列しか見つけられません。
public string GetText(string id)
編集済み:textIDは、複数のコンテキストに同じtextIDが存在しないという意味で一意です。
したがって、この関数は既存のすべてのコンテキストで文字列idを見つけ、有効な実際のテキストを返す必要があります。
ここでの質問は、この操作を行う最も早い方法です。私は経験豊富なプログラマーではないので、すべてのコンテキストを順番に調べて、それぞれのテキストIDが存在するかどうかを調べます。
「コンテキスト」はテキストをグループ化する必要があるのか疑問がある場合は、コンテキストが不要になった場合にそのデータをメモリからアンロードできます。事前に
多くの感謝:)
"辞書内の辞書"という意味の良い例を教えてください。 – NightOwl888
また、最も速いとはどういう意味ですか?パフォーマンス?コードに費やす時間は?メモリ使用量などの他の考慮事項はどうですか? – AndrewP
NightOwl888辞書内の辞書を検索すると、先ほどオブジェクトm_TextContextsに対して書いた行を意味します。メイン辞書のキーは、c1、c2、c3などのような多くのコンテキストです。各コンテキスト内には、実際のテキストのペアを含む辞書があります。たとえば、textID "id001"はメイン辞書の任意のキーに入れることができます。しかしそれはユニークです(異なった文脈の間で繰り返されないので)。 – Cris