Старый вопрос, но я нашел это полезным. Оказывается, есть также специальный класс для словаря, использующий строку как для ключа, так и для значения:
private static readonly StringDictionary SegmentSyntaxErrorCodes = new StringDictionary
{
{ "1", "Unrecognized segment ID" },
{ "2", "Unexpected segment" }
};
Редактировать: В соответствии с комментарием Криса ниже, использование Dictionary<string, string>
над StringDictionary
обычно предпочтительнее, но зависит от вашей ситуации Если вы имеете дело со старой кодовой базой, вы можете ограничиться StringDictionary
. Также обратите внимание, что следующая строка:
myDict["foo"]
вернет ноль, если myDict
является StringDictionary
, но в случае Dictionary<string, string>
будет выдано исключение. См. SO сообщение, которое он упомянул для получения дополнительной информации, которая является источником этого редактирования.