Я пытаюсь сохранить массив в настройках моей программы. Я сослался на этот другой вопрос stackoverflow (https://stackoverflow.com/a/4267845/2916027) о том, как сделать массив System.Int32 в настройках, но теперь у меня проблемы с использованием самого массива.
Я хотел бы установить размер массива (int [100]), а затем установить/получить из него значения, как и любые другие настройки. Всякий раз, когда я пытаюсь получить доступ к свойству или иным образом манипулировать им, я получаю сообщение об ошибке «ссылка на объект не указывает на экземпляр объекта», поскольку значение равно null. Я пытаюсь сделать его НЕ нулевым, но не могу, потому что он уже нулевой, может ли кто-нибудь помочь ??
Массив называется InbatecCellPreference.
int preferlistcounter = 0;
Int32[] preferlist = new Int32[dgvPrefList.Rows.Count];
for (int i = 0; i < dgvPrefList.Rows.Count; i++)
{
//initialize the array
Properties.Settings.Default.InbatecCellPreference.SetValue(0, i);
if ((bool)dgvPrefList[0, i].Value == true)
{
preferlist[preferlistcounter] = Convert.ToInt16(dgvPrefList["CellID", i]);
//set the array to the value of preferlist
Properties.Settings.Default.InbatecCellPreference.SetValue(preferlist[preferlistcounter], preferlistcounter);
preferlistcounter++;
}
}
//save changes after the loop has completed
Properties.Settings.Default.Save();
** ОБНОВЛЕНИЕ, я также понял, что параметр Scope в дизайнере был установлен на APPLICATION вместо USER. Как только я изменил его на USER, я смог обойти проблему ТОЛЬКО ДЛЯ ЧТЕНИЯ **