数组详细知识
数组对C#很重要,应该多加注意。C# 程序员应该清楚以下与数组有关的重要概念-
多维数组 - C#支持多维数组。多维数组的最简单形式是二维数组。
声明:
或int变量的3维数组,如-
多维数组的最简单形式是二维数组。二维数组是一维数组的列表。二维数组可以看作是一个表,该表具有x的行数和y的列数。以下是一个二维数组,其中包含3行4列
因此,数组a中的每个元素都由a [i,j]形式的元素名称标识,其中a是数组的名称,而i和j是唯一标识数组a中每个元素的下标。
初始化二维数组
可以通过为每行指定括号中的值来初始化多维数组。以下数组具有3行,每行有4列。
使用下标访问二维数组中的元素。也就是说,数组的行索引和列索引。例如,
上面的语句从数组的第三行获取第四元素。您可以在上图中进行验证。让我们检查程序来处理二维数组-
锯齿状数组
锯齿状数组是数组的数组。您可以将一个名为scores的锯齿状数组声明为int类型-
声明一个数组,不会在内存中创建该数组。创建上面的数组-
您可以将锯齿状数组初始化为-
其中,scores是两个整数数组的数组-scores [0]是3个整数的数组,scores [1]是4个整数的数组。
以下示例说明了使用锯齿状数组-
将数组传递给函数
您可以在C#中将数组作为函数参数传递。以下示例演示了这一点-
参数数组
有时,在声明方法时,您不确定作为参数传递的参数数量。C#参数数组(或参数数组)在这种时候会有所帮助。
以下示例演示了这一点-
数组类
Array类是 C# 中所有数组的基类。它在系统名称空间中定义。Array类提供了与数组一起使用的各种属性和方法。
下表描述了Array类的一些最常用的属性-
属性 |
描述 |
IsFixedSize |
获取一个值,该值指示Array是否具有固定大小。 |
IsReadOnly |
获取一个值,该值指示Array是否为只读。 |
Length |
获取一个32位整数,该整数表示Array所有维度中的元素总数。 |
LongLength |
获取一个64位整数,该整数表示Array所有维度中的元素总数。 |
Rank |
获取数组的等级(维数)。 |
数组类的方法
方法 |
描述 |
Clear |
根据元素类型,将Array中的元素范围设置为零,false或null。 |
Copy(Array, Array, Int32) |
从第一个元素开始的数组中复制一系列元素,并将其粘贴到从第一个元素开始的另一个Array中。长度指定为32位整数。 |
CopyTo(Array, Int32) |
从指定的目标数组索引开始,将当前一维数组的所有元素复制到指定的一维数组。索引被指定为32位整数。 |
GetLength |
获取一个32位整数,该整数表示Array指定维中的元素数。 |
GetLongLength |
获取一个64位整数,该整数表示Array指定维中的元素数。 |
GetLowerBound |
获取数组中指定维的下限。 |
GetType |
获取当前实例的类型。 (继承自Object。) |
GetUpperBound |
获取数组中指定维的上限。 |
GetValue(Int32) |
获取一维数组中指定位置的值。索引被指定为32位整数。 |
IndexOf(Array, Object) |
搜索指定的对象,并返回整个一维Array中第一次出现的索引。 |
Reverse(Array) |
反转整个一维数组中元素的顺序。 |
SetValue(Object, Int32) |
为一维数组中指定位置的元素设置一个值。索引被指定为32位整数。 |
Sort(Array) |
使用Array每个元素的IComparable实现对整个一维Array中的元素进行排序。 |
ToString |
返回表示当前对象的字符串。 (继承自Object。) |
有关Array类属性和方法的完整列表,请查阅有关 C# 的Microsoft文档。
要记住的第二点是C不主张将局部变量的地址返回到函数外部,因此您必须将局部变量定义为静态变量。 现在,考虑以下函数,该函数将生成10个随机数并使用数组返回它们,并按如下所示调用此函数: