使用存储在.settings中的数组,无法初始化或设置值

时间:2014-01-03 21:46:58

标签: c# arrays visual-studio-2012 settings

我正在尝试将数组存储在程序的设置中。我已经引用了关于如何在设置中创建System.Int32数组的其他stackoverflow问题(https://stackoverflow.com/a/4267845/2916027),但现在我在实际使用数组本身时遇到了麻烦。

我想设置数组大小(int [100]),然后像其他任何设置一样设置/检索它的值。每当我尝试以任何方式访问或以其他方式操纵属性时,我都会得到“对象引用未设置为对象的实例”错误,因为该值为null。我试图让它不为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();

**更新,我也意识到设计器中的设置范围设置为APPLICATION而不是USER。一旦我将其更改为USER,我就能绕过READ-ONLY问题**

0 个答案:

没有答案