Pertanyaan lama, tapi menurut saya ini berguna. Ternyata, ada juga kelas khusus untuk Kamus yang menggunakan string untuk kunci dan nilainya:
private static readonly StringDictionary SegmentSyntaxErrorCodes = new StringDictionary
{
{ "1", "Unrecognized segment ID" },
{ "2", "Unexpected segment" }
};
Sunting: Sesuai komentar Chris di bawah ini, menggunakan Dictionary<string, string>lebih pada StringDictionaryumumnya lebih disukai tetapi akan tergantung pada situasi Anda. Jika Anda berurusan dengan basis kode yang lebih lama, Anda mungkin terbatas pada StringDictionary. Juga, perhatikan bahwa baris berikut:
myDict["foo"]
akan mengembalikan null jika myDictadalah a StringDictionary, tetapi pengecualian akan dilemparkan jika Dictionary<string, string>. Lihat posting SO yang dia sebutkan untuk informasi lebih lanjut, yang merupakan sumber edit ini.