編集: 文化これらの内部操作は、不変の文化 OrdinalIgnoreCase
が最も適切であることを示唆しています。
KeyValuePair は封印されています。var がa = KeyValuePair<string,int>("foo",1)
ありvar b = KeyValuePair<string,int>("FOO",2)
、比較するa.Key == b.Key
と false になります。
私は真実になりたいです。まず、KeyValuePairs をカスタム クラスにラップしました。
public class MyKeyValuePair
{
private KeyValuePair<string, int> myKeyValuePair;
public SyncItem(string Key, int Value)
{
myKeyValuePair = new KeyValuePair<string, int>(Key, Value);
}
public string Key { get { return myKeyValuePair.Key; } }
public int Value { get { return myKeyValuePair.Value; } }
}
私が最初に考えたのは.ToLower()
、Key にコンストラクターを追加できるということでした。
これを行うより良い方法はありますか?正しい方法はありますか?どのような要因を考慮する必要がありますか?