时间:2021-05-19
交错数组
交错数组是元素为数组的数组。交错数组元素的维度和大小可以不同。交错数组有时称为“数组的数组”。以下示例说明如何声明、初始化和访问交错数组。
下面声明一个由三个元素组成的一维数组,其中每个元素都是一个一维整数数组:
必须初始化 jaggedArray 的元素后才可以使用它。可以如下例所示初始化该元素:
jaggedArray[0] = new int[5];jaggedArray[1] = new int[4];jaggedArray[2] = new int[2];每个元素都是一个一维整数数组。第一个元素是由 5 个整数组成的数组,第二个是由 4 个整数组成的数组,而第三个是由 2 个整数组成的数组。
也可以使用初始值设定项用值填充数组元素,在这种情况下不需要数组大小。例如:
还可以在声明数组时将其初始化,如:
int[][] jaggedArray2 = new int[][] { new int[] {1,3,5,7,9}, new int[] {0,2,4,6}, new int[] {11,22}};可以使用下面的速记格式。请注意:不能从元素初始化中省略 new 运算符,因为不存在元素的默认初始化:
int[][] jaggedArray3 = { new int[] {1,3,5,7,9}, new int[] {0,2,4,6}, new int[] {11,22}};交错数组是数组的数组,因此其元素是引用类型并初始化为 null。
可以如下例所示访问个别数组元素:
可以混合使用交错数组和多维数组。下面声明和初始化一个一维交错数组,该数组包含大小不同的三个二维数组元素。有关二维数组的详细信息,请参阅多维数组(C# 编程指南)。
int[][,] jaggedArray4 = new int[3][,] { new int[,] { {1,3}, {5,7} }, new int[,] { {0,2}, {4,6}, {8,10} }, new int[,] { {11,22}, {99,88}, {0,9} } };可以如本例所示访问个别元素,该示例显示第一个数组的元素 [1,0] 的值(值为 5):
System.Console.Write("{0}", jaggedArray4[0][1, 0]);
方法 Length 返回包含在交错数组中的数组的数目。例如,假定您已声明了前一个数组,则此行:
System.Console.WriteLine(jaggedArray4.Length);
返回值 3。
本例生成一个数组,该数组的元素为数组自身。每一个数组元素都有不同的大小。
输出:
隐式类型的数组
可以创建隐式类型的数组,在这样的数组中,数组实例的类型是从数组初始值设定项中指定的元素推断而来的。有关任何隐式类型变量的规则也适用于隐式类型的数组。
在查询表达式中,隐式类型的数组通常与匿名类型以及对象初始值设定项和集合初始值设定项一起使用。
下面的示例演示如何创建隐式类型的数组:
请注意,在上一个示例中,没有在初始化语句的左侧对隐式类型的数组使用方括号。另请注意,交错数组就像一维数组那样使用 new [] 进行初始化。
对象初始值设定项中的隐式类型的数组
创建包含数组的匿名类型时,必须在该类型的对象初始值设定项中对数组进行隐式类型化。在下面的示例中,contacts 是一个隐式类型的匿名类型数组,其中每个匿名类型都包含一个名为 PhoneNumbers 的数组。请注意,对象初始值设定项内部未使用 var 关键字。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C#数组有很多值得学习的地方,这里我们主要介绍C#交错数组,包括介绍一维数组例、二维数组例、C#交错数组等方面。数组是在我们编程当中经常用到的,想来大家对数组都
本文实例讲述了C#交错数组用法。分享给大家供大家参考。具体分析如下:交错数组是数组的数组,交错数组的元素可以是不同的尺寸和大小。交错数组有时也被称为“数组的数组
本文实例分析了C#中is与as的区别,分享给大家供大家参考。具体分析如下:一、C#类型的转换在c#中类型的转换分两种:显式和隐式,基本的规则如下:1、基类对象转
C#中,有些类型是可以隐式转换的,我整理了这些可以隐式转换的类型,供大家参考复制代码代码如下:staticprivateboolCanConvert(Typef
以下内容来自MSDN数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。在C#中,声明和使用数组的方法