- C# 基础教程
- C# - 主页
- C# - 概述
- C# - 环境
- C# - 程序结构
- C# - 基本语法
- C# - 数据类型
- C# - 类型转换
- C# - 变量
- C# - 常量
- C# - 运算符
- C# - 决策
- C# - 循环
- C# - 封装
- C# - 方法
- C# - 可空值
- C# - 数组
- C# - 字符串
- C# - 结构
- C# - 枚举
- C# - 类
- C# - 继承
- C# - 多态性
- C# - 运算符重载
- C# - 接口
- C# - 命名空间
- C# - 预处理器指令
- C# - 正则表达式
- C# - 异常处理
- C# - 文件 I/O
- C# 高级教程
- C# - 属性
- C# - 反射
- C# - 属性
- C# - 索引器
- C# - 委托
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全代码
- C# - 多线程
- C# 有用资源
- C# - 问题与解答
- C# - 快速指南
- C# - 有用的资源
- C# - 讨论
C# - 数组
数组存储相同类型元素的固定大小的顺序集合。数组用于存储数据集合,但将数组视为存储在连续内存位置的相同类型变量的集合通常更有用。
您可以声明一个数组变量(例如numbers)并使用numbers[0]、numbers[1]和...、numbers[99]来表示,而不是声明单个变量(例如number0、number1、...和number99)个体变量。数组中的特定元素通过索引来访问。
所有数组都由连续的内存位置组成。最低地址对应于第一个元素,最高地址对应于最后一个元素。
声明数组
要在 C# 中声明数组,可以使用以下语法 -
datatype[] arrayName;
在哪里,
数据类型用于指定数组中元素的类型。
[ ]指定数组的秩。排名指定数组的大小。
arrayName指定数组的名称。
例如,
double[] balance;
初始化数组
声明数组并不会初始化内存中的数组。当数组变量初始化后,就可以给数组赋值了。
数组是引用类型,因此需要使用new关键字来创建数组的实例。例如,
double[] balance = new double[10];
为数组赋值
您可以使用索引号为各个数组元素分配值,例如 -
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。
访问数组元素
通过索引数组名称来访问元素。这是通过将元素的索引放在数组名称后面的方括号内来完成的。例如,
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
使用foreach循环
在前面的示例中,我们使用 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# 程序员应该清楚以下几个与数组相关的重要概念 -