首页 理论教育 C#编程新手自学手册:数组转换技巧

C#编程新手自学手册:数组转换技巧

时间:2023-10-22 理论教育 版权反馈
【摘要】:2)如果数组的元素是引用类型,而且在被转换数组的元素和目标数组的元素类型之间,存在隐式转换或显式转换,那么数组可以被显式转换成维数相同的目标数组。2)设置类mm和nn的元素成员类型为int。3)创建nn类的二维数组nns。4)分别将nns转换为mm的一维数组和二维数组。7)将数组ints转换为值类型数组。图9-8 错误提示从图9-8所示错误列表可以看出,上述代码中存在三处转换错误,具体如下。1)“mm[]rcs2=nns”,原因是两数组的维数不同。

C#编程新手自学手册:数组转换技巧

数组转换能够将某个数组转换为另外一种类型元素的数组,C#数组转换的基本原则如下:

1)值类型元素数组不能被转换为其他形式的数组。

2)如果数组的元素是引用类型,而且在被转换数组的元素和目标数组的元素类型之间,存在隐式转换或显式转换,那么数组可以被显式转换成维数相同的目标数组。

看下面的一段代码:

978-7-111-36370-5-Part02-223.jpg

978-7-111-36370-5-Part02-224.jpg

上述代码的设计流程如下。

1)分别设计三个类mm、nn和Text,其中mm是nn的基类。

2)设置类mm和nn的元素成员类型为int。

3)创建nn类的二维数组nns。

4)分别将nns转换为mm的一维数组和二维数组。(www.xing528.com)

5)创建基类二维数组aa和int类型的二维数组ints。

6)将nns转换为Type的二维数组。

7)将数组ints转换为值类型数组。

在Visual Studio 2010中运行上述代码后,将显示如图9-8所示的错误提示。

978-7-111-36370-5-Part02-225.jpg

图9-8 错误提示

从图9-8所示错误列表可以看出,上述代码中存在三处转换错误,具体如下。

1)“mm[]rcs2=(mm[])nns”,原因是两数组的维数不同。rcs2是一维,nns是二维。

2)“Type[,]types=(Type[,])nns”,原因是Type类型未知,不存在显式转换或隐式转换。

3)“object[]bb=(object[])nns”,原因是ints数组是值类型数组,不能被转换为其他类型。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈