CreateInstance()方法能够初始化项目数据的新实例。在C#开发应用中,CreateInstance()方法主要具有如下两个作用。
1.创建下限不为0的数组
在大多情况下,C#数组下限的默认值为0。但是通过System.Array类提供的方法CreateInstance(),可以创建指定的动态数组,也可以创建下限不为0的数组,从而重新声明了指定数组的大小。
实例32:使用CreateInstance()方法创建下限不为0数组
本实例将使用CreateInstance()方法创建下限不为0数组。本实例保存在“光盘:\daima\9”文件夹内,项目名为gaibian。本实例的功能是输出显示CreateInstance()方法创建的下限不为0数组数据。实例文件的主要代码如下:
上述实例代码的设计流程如下。
1)分别定义二维数组mm和nn。
2)通过CreateInstance()方法创建一个新的数组zz。
3)使用for语句逐一读取数组内的数据,将zz进行初始化处理。
4)输出显示数组的维数、下限和上限。
5)输出显示数组内的数据。
执行后将输出显示指定数组内的数据,并显示数组的维数、下限和上限,如图9-4所示。
图9-4 实例执行结果
多学一招
Array类是一个抽象类,所以不能使用构造函数来创建数组。但除了可以使用C#语法创建数组实例之外,还可以使用静态方法CreateInstance()创建数组。如果事先不知道元素的类型,就可以使用该静态方法,因为类型可以作为Type对象传送给CreateInstance()方法。
2.重定义数组
CreateInstance()方法的功能是,动态创建在编译时无法确定元素类型和维数的数组,即重新定义数组的大小。
实例33:通过CreateInstance()方法重新定义数组的大小
下面将通过一个简单的实例来说明,通过CreateInstance()方法重新定义数组的大小的流程。本实例保存在“光盘:\daima\9”文件夹内,项目名为redefine。本实例的功能是,输出显示指定数组内的数据,并使用CreateInstance()输出此数组内指定长度的数据。实例文件的主要代码如下:(www.xing528.com)
上述实例代码的设计流程如下。
1)定义一维数组array,并在其中存储10个数字。
2)定义函数shuchu(),输出指定长度的数组内数据。
3)定义函数ReDim(),设置数组内的数据输出长度。
4)逐一输出此数组内指定长度的数据。
执行后将首先输出显示指定数组内的数据,如图9-5所示;当按〈Enter〉键后将显示长度为12的数组数据,如图9-6所示;当再次按〈Enter〉键后将显示长度为4的数组数据,如图9-7所示。
在上述实例中,如果设置的长度超出了数组内数据的长度,则将超出数据设置为0显示。
图9-5 实例执行结果
图9-6 实例执行结果
图9-7 实例执行结果
多学一招
CreateInstance()方法有许多重载版本,可以创建多维数组和不基于0的数组。例如在下面的代码中,创建了一个包含2×3个元素的二维数组。第一维基于1,第二维基于0:
SetValue()方法用于设置数组的元素,其参数是每一维的索引:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。