我正在尝试将数组存储在程序的设置中。我已经引用了关于如何在设置中创建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问题**