C# 多维数组:二维数组详解与代码示例
C# 多维数组
本教程探索 C# 多维数组,重点讲解二维数组,配以清晰代码片段。
深入多维数组前,请先复习 C# 一维数组。
多维数组中,每个元素本身是一个数组。例如:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
此处 x 是二维数组,包含两行 {1, 2, 3} 和 {3, 4, 5}。每行是一个含三个元素的数组。
二维数组
二维数组本质是行与列的表格。数组元素是一维数组。

图中 {1, 2, 3} 和 {3, 4, 5} 代表二维数组的两行。
1. 声明
声明二维数组:
int[ ] x = new int [2, 3];
x 可容纳 2 行 3 列 —— 共 6 个值。
注意:方括号间的单个逗号 ([ ]) 表示二维数组。
2. 初始化
声明时直接初始化:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
或同时指定大小与值:
int[ ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
3. 访问元素
使用零基索引:x[row, column]。示例:
// 二维数组
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// 第一行第一个元素
x[0, 0]; // 1
// 第二行第三个元素
x[1, 2]; // 5
// 第一行第三个元素
x[0, 2]; // 3

示例:C# 二维数组
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
// 初始化二维数组
int[ ] numbers = {{2, 3}, {4, 5}};
// 访问第一行第一个元素
Console.WriteLine("Element at index [0, 0] : " + numbers[0, 0]);
// 访问第二行第一个元素
Console.WriteLine("Element at index [1, 0] : " + numbers[1, 0]);
}
}
}
输出
Element at index [0, 0] : 2 Element at index [1, 0] : 4
此例中 numbers 有两行 {2, 3} 和 {4, 5}。使用所示索引打印值。
numbers[0, 0]– 第一行第一个元素 (2)numbers[1, 0]– 第二行第一个元素 (4)
修改元素
给索引赋新值即可修改数组:
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ ] numbers = {{2, 3}, {4, 5}};
// 旧元素
Console.WriteLine("Old element at index [0, 0] : " + numbers[0, 0]);
// 赋新值
numbers[0, 0] = 222;
// 新元素
Console.WriteLine("New element at index [0, 0] : " + numbers[0, 0]);
}
}
}
输出
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
[0, 0] 处的值从 2 变为 222。
嵌套循环遍历
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row " + i + ": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j] + " ");
}
Console.WriteLine();
}
}
}
}
输出
Row 0: 2 3 9 Row 1: 4 5 9
外层循环遍历行 (GetLength(0)),内层循环遍历列 (GetLength(1))。
注意:三维数组包含多个二维数组:
int[ , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } }, { { 2, 4, 9 }, { 5, 7, 11 } } };
此处 [ , ](两个逗号)表示三维数组。
C语言
- 20°C各材料电阻率系数——综合材料参考
- 超导现象:零电阻、量子效应与实际应用
- 陶瓷发热元件详解:对流/强制风均热、耐用安全与成本优势
- 掌握 C# 数组:声明、初始化与核心操作完全指南
- 掌握 C# 锯齿数组:声明、初始化与访问完全指南
- C++数组传递给函数实战指南
- C++ 数组完全指南:声明、初始化、多维数组与指针技巧
- C++ 动态数组分配实战指南:new/delete、初始化、扩容与内存管理
- C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
- MATLAB 多维数组与特殊数组完全指南
- Java 数组复制技术:全面指南
- 掌握 Java NavigableSet 接口:导航、排序与实战示例