Я работаю над личным проектом C#, и я хотел бы использовать вложенный словарь для обработки сохраненных значений моих параметров settings.ini для будущего чтения/записи в файле settings.ini. Мой settings.ini файл состоит из:Доступ и установка значений вложенных словарей
[Application]
AutoShowSetting=Log
SettingsIniDirectory=Application
LogDirectory=Application
...
Я использую два для каждой петли, чтобы прочитать информацию из файла settings.ini следующим образом:
public void storeIniValues()
{
int i = 0;
string[] sectionNames = iniFile.GetSectionNames();
foreach (string section in sectionNames)
{
string[] keys = iniFile.GetKeyNames(section);
foreach (string key in keys)
{
string keyValue = iniFile.GetString(section, key, "");
i++;
}
}
}
Foreach захватывает значения и помещает значения в их уважаемые строковые переменные. Я хотел бы принимать значения во время цикла через цикл foreach и помещать значения в словарь для последующего чтения/записи/обновления файла settings.ini. До сих пор я создал словарь:
static Dictionary<string, Dictionary<string, string>> iniSettings =
new Dictionary<string, Dictionary<string, string>>();
Как получить доступ к ине значения из вложенного словаря как так
iniSettings [ «Применение»] [ «AutoShowSetting»], чтобы получить соответствующее значение (в данном случае " Журнал")? Кроме того, как добавить значение к вложенному словарю, когда цикл foreach зацикливается (settingsIni [section] [key] = keyValue)? Я не знаю, с чего начать, потому что я никогда не использовал вложенный словарь.
EDIT
Я забыл упомянуть settings.ini файл будет содержать значения для заполнения флажки, текстовые поля и т.д. ...
Или вы могли бы использовать совершенно тонкую структуру app.config уже присутствует для приложений C#? =) –
Но теперь, когда вы уже здесь, что не так с решением, которое вы предлагаете в своем последнем абзаце? Получаете ли вы какие-либо ошибки при попытке? –
Или используйте один из классов оболочки INI, как описано здесь: http://stackoverflow.com/questions/217902/reading-writing-an-ini-file – Corak