免責事項:たぶんマイクロYAGNI最適化ですが、私に聞いてください..
問題は、大文字と小文字を区別しないルックアップテーブルを実装することです。
- 私の昔ながらのやり方:辞書にデータを入力するときは、挿入する前にキーを大文字にします。誰かがあなたにルックアップするためのキーを与えるとき、キーを大文字にします。
- 新しい方法(今日それについて学びました):辞書はIComparer実装を取り入れているので、を渡すことができ
StringComparer.InvariantCultureIgnoreCase
ます。String.Compare(x、y、SomeIgnoreCaseEnum)に委任すると思います
新しい方法には、辞書に対してルックアップが実行されるn個の場所のそれぞれで.ToUpper()が実行されることを保証する必要がないという利点があります。
私の質問はどちらがより効率的ですか?ただ好奇心が強いと思います...
更新:挿入された元のキーを知る必要はないことに注意してください。また、使用されるキーは文化にとらわれません。