Csharp 简明教程
C
一个数组存储类型相同的元素的固定大小顺序集合。数组用于存储数据集合,但通常将数组视作同一类型的变量集合更有益,这些变量存储在连续的存储器位置。
不要声明诸如 number0、number1、… 和 number99 这样的独立变量,而是声明一个阵列变量,如 numbers,并使用 numbers[0]、numbers[1] 和…,numbers[99] 来表示独立变量。阵列中的特定元素通过索引进行访问。
所有阵列都包含连续的内存位置。最低地址对应于第一个元素,而最高地址对应于最后一个元素。
Declaring Arrays
要在 C# 中声明一个数组,你可以使用以下语法 −
datatype[] arrayName;
其中,
-
datatype 用于指定数组中元素的类型。
-
[ ] 指定数组的秩。秩指定数组的大小。
-
arrayName 指定数组的名称。
例如,
double[] balance;
Initializing an Array
声明数组不会在内存中初始化数组。当数组变量被初始化时,您可以为数组赋值。
数组是一种引用类型,因此您需要使用 new 关键字创建一个数组实例。例如:
double[] balance = new double[10];
Assigning Values to an Array
您可以使用索引号为各个数组元素赋值,例如 −
double[] balance = new double[10];
balance[0] = 4500.0;
您可以在声明时为数组赋值,如下所示 −
double[] balance = { 2340.0, 4523.69, 3421.0};
您还可以创建并初始化一个数组,如下所示 −
int [] marks = new int[5] { 99, 98, 92, 97, 95};
您还可以省略数组的大小,如下所示 −
int [] marks = new int[] { 99, 98, 92, 97, 95};
您可以将一个数组变量复制到另一个目标数组变量中。在这种情况下,目标和源都指向相同的内存位置 −
int [] marks = new int[] { 99, 98, 92, 97, 95};
int[] score = marks;
当您创建数组时,C#编译器会根据数组类型隐式地将每个数组元素初始化为一个默认值。例如,对于 int 数组,所有元素都初始化为 0。
Accessing Array Elements
通过对数组名称进行索引来访问元素。这是通过在数组名称后面方括号中放置元素索引来完成的。例如:
double salary = balance[9];
以下示例演示了上述概念的声明、赋值和访问数组 −
using System;
namespace ArrayApplication {
class MyArray {
static void Main(string[] args) {
int [] n = new int[10]; /* n is an array of 10 integers */
int i,j;
/* initialize elements of array n */
for ( i = 0; i < 10; i++ ) {
n[ i ] = i + 100;
}
/* output each array element's value */
for (j = 0; j < 10; j++ ) {
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}
编译并执行上述代码后,将产生以下结果 −
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Using the foreach Loop
在前面的示例中,我们使用 for 循环访问每个数组元素。您还可以使用 foreach 语句遍历数组。
using System;
namespace ArrayApplication {
class MyArray {
static void Main(string[] args) {
int [] n = new int[10]; /* n is an array of 10 integers */
/* initialize elements of array n */
for ( int i = 0; i < 10; i++ ) {
n[i] = i + 100;
}
/* output each array element's value */
foreach (int j in n ) {
int i = j-100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}
编译并执行上述代码后,将产生以下结果 −
Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
C
以下是与数组相关的几个重要概念,C# 程序员应该清楚它们 −
Sr.No. |
Concept & Description |
1 |
Multi-dimensional arrays C# 支持多维数组。多维数组最简单的形式是二维数组。 |
2 |
Jagged arrays C# 支持多维数组,即数组的数组。 |
3 |
Passing arrays to functions 您可以通过指定数组的名称(不带索引)将指向数组的指针传递给函数。 |
4 |
Param arrays 这用于将未知数量的参数传递给函数。 |
5 |
The Array Class 在 System 命名空间中定义,它是一个所有数组的基础类,为处理数组提供了各种属性和方法。 |