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");
}
相关推荐
七夜zippoe2 分钟前
DolphinDB自定义函数:UDF开发指南
开发语言·python·自定义函数·udf·dolphindb
weixin199701080164 分钟前
[特殊字符] 电商库存扣减防超卖:分布式锁的三种实现(附Python源码)
开发语言·分布式·python
z落落7 分钟前
C# 多态 + 函数重载(静态多态)+运算符重载
开发语言·c#
码不停蹄的玄黓16 分钟前
Java 应用 CPU 过高排查全流程
java·开发语言·python
Fms_Sa19 分钟前
分治法—最大子段问题
算法·c#
rick97726 分钟前
C# 动态对象实战:用 DynamicObject 打造你的"万能插件架构"
c#
江畔柳前堤29 分钟前
XZ09_Word和MD格式转换
开发语言·数据库·人工智能·python·深度学习·word
ZenosDoron30 分钟前
malloc规范
java·开发语言
codeejun30 分钟前
每日一Go-71、理论知识:CAP 、一致性原理 、Raft 机制(简化实现一个 Raft)
java·开发语言·golang
Aotman_32 分钟前
JavaScript数组对象中指定字段转换
java·开发语言·前端·javascript·vue.js·前端框架·es6