1. ホーム
  2. c#

[解決済み] C#の文字列キータイプで大文字小文字を区別する辞書

2022-04-19 07:18:11

質問

もし Dictionary<String,...> のようなメソッドを作ることは可能でしょうか? ContainsKey 大文字小文字を区別しない?

これは関係ありそうですが、ちゃんと理解できていませんでした。 c# Dictionary: 宣言で大文字小文字を区別しないキーにする

どのように解決するのですか?

<ブロッククオート

これは関連しそうだけど、ちゃんと理解していなかった: c# Dictionary: 宣言でKeyを大文字小文字を区別しないようにする。

確かに関係ありますね。解決策は、辞書インスタンスに標準の文字列比較メソッド (大文字と小文字を区別する) を使用せず、大文字と小文字を区別しないメソッドを使用するよう指示することです。これは 適切なコンストラクタ :

var dict = new Dictionary<string, YourClass>(
        StringComparer.InvariantCultureIgnoreCase);

このコンストラクタでは IEqualityComparer これは、キーの比較方法を辞書に指示するものです。

StringComparer.InvariantCultureIgnoreCase を与えると IEqualityComparer のインスタンスで、大文字と小文字を区別せずに文字列を比較します。