Работа с массивами, которые хранятся в .settings, не могут инициализировать или устанавливать значения

Я пытаюсь сохранить массив в настройках моей программы. Я сослался на этот другой вопрос 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, я смог обойти проблему ТОЛЬКО ДЛЯ ЧТЕНИЯ **


person metinoheat    schedule 03.01.2014    source источник
comment
в какой строке ошибка?   -  person T McKeown    schedule 04.01.2014
comment
строка сразу после //инициализации цитаты массива, но я подозреваю, что любая из строк, где я пытаюсь изменить значение optimo_formation...inbateccellpreference, также приведет к ошибке.   -  person metinoheat    schedule 04.01.2014
comment
это означало бы, что ваша настройка на самом деле не создана, если бы это была ваша настройка значения, вы бы получили ошибку индекса... вы получаете нулевую ссылку. зайдите в отладку и убедитесь, что эта переменная настройки действительно существует.   -  person T McKeown    schedule 04.01.2014
comment
переменная настройки есть, она имеет значение null   -  person metinoheat    schedule 04.01.2014
comment
это означает, что он равен нулю   -  person T McKeown    schedule 04.01.2014
comment
хм, хорошо, так как я могу это исправить?   -  person metinoheat    schedule 04.01.2014
comment
попробуйте это ДО вашего цикла: Optimo_Formation_Scheduler_C_sharp.Properties.Settings.Default.InbatecCellPreference = new Int32[dgvPrefList.Rows.Count];   -  person T McKeown    schedule 04.01.2014
comment
хорошо, теперь я получаю другую ошибку -- только чтение не может быть назначено   -  person metinoheat    schedule 04.01.2014
comment
в строке, которую я должен был добавить?   -  person T McKeown    schedule 04.01.2014
comment
посмотрите здесь: stackoverflow.com/ вопросы/11738642/   -  person T McKeown    schedule 04.01.2014
comment
ссылка, которую я дал, была для 2D-массива, но важно было создать список.   -  person T McKeown    schedule 04.01.2014
comment
если вы опубликуете ответ, я могу отметить его как таковой, это сработало, большое спасибо   -  person metinoheat    schedule 04.01.2014
comment
посмотрите здесь: stackoverflow.com/ вопросы/11738642/   -  person T McKeown    schedule 05.01.2014