C#初级——数组

数组

数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合

数组的定义

数组类型[] +数组名称 = value;

初始化数组

数组类型[] +数组名称 = new 数组类型[数组大小];

数组赋值

数组可以通过直接赋值,以及初始化来对数组进行赋值操作。并且呢数组可以给它赋值为空,也可以不限定数组的大小和把该数组赋值给另一个数组。

cs 复制代码
int[] arrNum1 = { 1, 2, 3, 4, 5 };
int[] arrNum2 = new int[5] { 1, 2, 3, 4, 5 };
int[] arrNum3 = null;
int[] arrNum4 = new int[] { 1, 2, 3 };
int[] arrNum5 = arrNum2;

数组元素的访问

元素是通过带索引的数组名称来访问的。

数组名称[索引(从零开始)];

数组的遍历

数组.Length: 获取数组元素的个数

数组.GetLength:获取数组元素的个数(多用于二维数组或者多维数组的遍历)

cs 复制代码
Console.WriteLine($"len = {arrNum.Length}");
//Console.WriteLine($"len = {arrNum.GetLength}");
for (int i = 0; i < arrNum.Length; i++)
{
    Console.WriteLine($"i = {arrNum[i]}");
} 

除了用 for语句循环,还可以用 foreach() 循环语句

cs 复制代码
int[] arrNum = { 1, 2, 3, 4, 5 };
for (int i in arrNum)
{
    Console.WriteLine($"arrNum = {arrNum[i]}");
} 

二维数组

在二维数组的定义上,C#与C/C++不一样,C/C++的二维数组是 **数组类型[ ][ ],**在引用上也是如此。

数组类型[,] 数组名称 = { };

cs 复制代码
 int[,] arr_Num = { { 1, 2, 3 }, { 4, 5, 6 } };

二维数组元素的访问

数组名称[ , ] ,索引之间用**,**隔开。

cs 复制代码
Console.WriteLine(arr_Num[1, 2]);

在遍历数组之前,需要对数组进行长度计算,运行以下代码,就会发现两种求数组长度的区别。在二维数组以及多维数组的遍历中使用Length方法会变得麻烦,而GetLength方法则可以将其简化。

cs 复制代码
Console.WriteLine(arr_Num.Length);          //6
Console.WriteLine(arr_Num.GetLength(0));    //2    //求行数
Console.WriteLine(arr_Num.GetLength(1));    //3    //求列数

二维数组的遍历

cs 复制代码
for (int i = 0; i < arr_Num.GetLength(0); i++)
{
    for (int j = 0; j < arr_Num.GetLength(1); j++)
    {
        Console.Write(arr_Num[i, j]);
    }
    Console.Write("\n");
}
相关推荐
小龙报19 分钟前
《算法通关指南数据结构和算法篇(4)--- 队列和queue》
c语言·开发语言·数据结构·c++·创业创新·学习方法·visual studio
民乐团扒谱机26 分钟前
深入浅出理解克尔效应(Kerr Effect)及 MATLAB 仿真实现
开发语言·matlab·光学·非线性光学·克尔效应·kerr effect
7澄133 分钟前
深入解析 LeetCode 数组经典问题:删除每行中的最大值与找出峰值
java·开发语言·算法·leetcode·intellij idea
计算衎36 分钟前
.c .o .a .elf .a2l hex map 这些后缀文件的互相之间的联系和作用
开发语言·elf·gcc·c/c++·a2l
ysyxg38 分钟前
设计模式-策略模式
java·开发语言
m0_748248021 小时前
C++与C#布尔类型深度解析:从语言设计到跨平台互操作
c++·stm32·c#
一抓掉一大把1 小时前
秒杀-StackExchangeRedisHelper连接单例
java·开发语言·jvm
星释1 小时前
Rust 练习册 :Minesweeper与二维数组处理
开发语言·后端·rust
开发者小天2 小时前
React中的useRef的用法
开发语言·前端·javascript·react.js
LeonDL1682 小时前
【通用视觉框架】基于C#+VisionPro开发的视觉框架软件,全套源码,开箱即用
人工智能·c#·visionpro·通用视觉框架·机器视觉框架·视觉框架软件·机器视觉软件