在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
首先了解一下C#关于数组的一些基础知识: 1、数组Array都隐士派生自System.Array抽象类,而System.Array类又继承自System.Object基类,(事实上数组都隐士实现了IEnumerable,ICollection,IList接口) 所以C#中的数组都始终是引用类型, 变量和字段中包含的是数组的引用,而不是数组本身的元素。 2、因为是引用类型,所以数组都是在托管堆中分配的。 3、数组作为实参传递给一个方法时,实际传递的是对该数组的引用。因此被调用的方法能修改数组的元素。 4、Array.Copy提供的数组拷贝方法,是一个浅拷贝,也就说如果数组元素是引用类型,新数组将引用源数组的对象。 5、C#数组默认是0基数数组(索引从0开始),一维0基数组也称为向量,向量的性能是最佳,因为CLR使用了一些特殊的IL指令来优化向量的操作。 6、C#支持多维数组,如二维数组可以想象成一个矩阵,三维数组可以想象成一个立体空间,定义如下:
7、CLR支持数组的数组,即交错数组(jagged array)。 交错数组定义如下:
二位数组和数组的数组的区别。 二维数组是按照指定的类型的一组数,比如 int [2,3]那就是说一个两行三列的矩阵,每一个元素都是一个整型数的数组。 交错数组int[2][],指的是这个数组有两个元素,每一个元素都是一个整型的数组,但是长度可以不一样, 比如
参考:《CLR via C#》3th |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论