主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
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# 异常
C# 文件与流

C# 高级

C# 属性(Attributes)
C# 反射
C# 属性(Properties)
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# 多态性
C# 操作符重载
C# 接口
C# 命名空间
C# 预处理
C# 正则表达式
C# 异常
C# 文件与流

高级

C# 属性(Attributes)
C# 反射
C# 属性(Properties)
C# 索引器
C# 委托
C# 事件
C# 集合
C# 泛型
C# 匿名方法
C# 不安全代码
C# 线程

C# 数组


上一章 下一章

数组存储同一类型的固定大小的连续集合。数组用于存储数据集合,但通常更实用的是将数组视为存储在同一连续内存位置的相同类型变量的集合。

与其声明单独的变量,如 number0, number1, ..., number99,不如声明一个数组变量如 numbers 并使用 numbers[0], numbers[1], 和 ..., numbers[99] 来表示单独的变量。数组中的特定元素可通过索引来访问。

所有的数组都由连续的内存位置组成。最低地址对应第一个元素,最高地址对应最后一个元素。

Arrays in C#

C# 中的数组

声明数组

要在 C# 中声明一个数组,可以使用以下语法:

datatype[] arrayName;

其中,

  • datatype 用来指定数组中的元素类型。
  • [ ] 指定数组的秩。秩指定了数组的大小。
  • 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 是一个包含 10 个整数的数组 */
         int i,j;

         /* 初始化数组 n 的元素 */
         for ( i = 0; i < 10; i++ ) {
            n[ i ] = i + 100;
         }

         /* 输出每个数组元素的值 */
         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 是一个包含 10 个整数的数组 */

         /* 初始化数组 n 的元素 */
         for ( int i = 0; i < 10; i++ ) {
            n[i] = i + 100;
         }

         /* 输出每个数组元素的值 */
         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# 程序员应该清楚:

  1. 多维数组

    • C# 支持多维数组。最简单的多维数组形式是二维数组。
  2. 锯齿数组

    • C# 支持多维数组,即数组的数组。
  3. 将数组传递给函数

    • 你可以通过指定数组名而不带索引来传递数组的指针给函数。
  4. 参数数组

    • 这是用来向函数传递未知数量的参数。
  5. 数组类

    • 定义在 System 命名空间中,它是所有数组的基本类,并提供了用于操作数组的各种属性和方法。
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图