我的情况是这样的,将数据库中的数据提出,动态的赋值到一个数组里面去,但是出现错误“未将对象引用设置到对象的实例”。
首先,我以为错误是因为我数据库返回的值为空,因为出现这个错误,一个原因就是对象为null,但是我却去使用它,所以VS傲娇了,不让我过。
其实,是因为我的数组没有赋初值,就去调用它的函数。此处我调用的是SetValue函数,满心以为它会为我的动态数组赋初值。
数组若未赋初值,是不能调用其函数的。
由于我的数组的用处是动态根据数据库里的条目个数来改变其长度,而我又不知道数据库有多少个条目,所以不知道数组有多长,无法赋初值。
因此,问题归结到,如何为动态数组赋值。
网上找到一个神器 ArrayList。
ArrayList是可以添加任意长度的,而且可以转换成任意的类型数组,所以使用了ArrayList进行转换。
代码如下:
ArrayList list = new ArrayList();
list.Add("aaa");
list.Add("bbb");
string[] caption = (string[])list.ToArray(typeof(string));
然后就OK了~
参考文章:点击打开链接