1

私は辞書を持っています。このディクショナリでは、Containskey() メソッドを大文字と小文字を区別しないものとして使用することが最も重要です。そのため、コンストラクタを使用して大文字と小文字を区別しません。

 Dictionary<string, string> wishProductNames = new Dictionary<string, string>(StringComparer.CurrentCultureIgnoreCase);
            DBService.GetNameAndPhrases(ref wishProductNames);

私はそれをWCFサービスメソッドに送信して、入力して返します。それは正常に動作しますが、大文字と小文字を区別するプロパティは大文字と小文字を区別するようにリセットされ、作成時にのみ設定されるため、元に戻すことはできません。

私はいつでも配列を使用して WCF からデータを取得し、ディクショナリを埋めることができます。また、結果のディクショナリを大文字と小文字を区別しない別のディクショナリにいつでもコピーできますが、プロパティのリセットの問題を解決するにはどうすればよいですか?

4

1 に答える 1

4

できません。ディクショナリに関連付けられた比較子は、データのシリアライゼーションおよびデシリアライゼーションの一部ではありません。

ただし、 Dictionary(IDictionary dictionary, IEqualityComparer comparer)コンストラクターのオーバーロードを使用して、同じ項目と適切な比較子を使用して辞書を簡単に再作成できます。

于 2011-11-27T10:57:30.303 に答える