C#学习系列相关之数组(一)---数组的定义与使用

一、数组定义与初始化

数组是数据的集合。标量变量一次只能保存一项。数组可以容纳多个项目。这些项目称为数组的元素。数组存储相同数据类型的数据。每个元素都可以通过索引来引用。数组是从零开始的。第一个元素的索引为零。数组是引用类型。

数组用于存储我们应用程序的数据。我们将数组声明为某种数据类型。我们指定它们的长度。我们用数据初始化数组。我们有几种处理数组的方法。我们可以修改元素、对其进行排序、复制或搜索它们。

cs 复制代码
1、数组的定义
int[] ages;
String[] names;
float[] weights;

我们有三个数组声明。声明由两部分组成。数组的类型和数组名称。数组的类型具有确定数组中元素类型的数据类型(在我们的示例中为 int、String、float)和一对方括号 \[\]。括号表示我们有一个数组。

cs 复制代码
2、数组初始化

第一种方式:
int[] num=new int[5]

num[1]=1;
num[2]=2;
num[3]=3;
num[4]=4;
num[5]=5;



//[]中括号内的5是定义数组的长度,接下来对数组内数字进行赋值,如果未赋值的长度其为默认值0

//第二种方式
int[] num=new int[]{1,2,3,4,5}
或者
int[] num=new int[5]{1,2,3,4,5}
//如果中括号内有数组长度,则大括号内的数据一定是指定长度
//没有指定数组的长度。编译器会为我们做这件事
cs 复制代码
foreach (int i in array)
{
    Console.WriteLine(i);
}

我们使用 foreach 关键字遍历数组并打印其内容。

二、二维三维数组的使用

1、二维数组

cs 复制代码
int[,] twodim = new int[,] { {1, 2, 3}, {1, 2, 3}  };

int d1 = twodim.GetLength(0);
int d2 = twodim.GetLength(1);

for (int i=0; i<d1; i++)
{
    for (int j=0; j<d2; j++)
    {
        Console.WriteLine(twodim[i, j]);
    }
}

1、定义二维数组的时候,中括号内的要用,分割开

2、Getlength可以获取每个维度的数量

2、三维数组

cs 复制代码
int[,,] n3 =
{
    {{12, 2, 8}},
    {{14, 5, 2}},
    {{3, 26, 9}},
    {{4, 11, 2}}
};

int d1 = n3.GetLength(0);
int d2 = n3.GetLength(1);
int d3 = n3.GetLength(2);

for (int i=0; i<d1; i++)
{
    for (int j=0; j<d2; j++)
    {
        for (int k=0; k<d3; k++)
        {
            Console.Write(n3[i, j, k] + " ");
        }
    }
}
相关推荐
战族狼魂1 小时前
高频面试题精选:分治与AI Agent架构
人工智能·算法·大模型·大语言模型
李剑一1 小时前
你用过网易的将军令嘛?它底层实现账号保护的原理相当简单粗暴
算法
Scott9999HH1 小时前
告别流量波动玄学!从法拉第电磁定律到底层 C/C++ 流量累积算法,深度解密工业级电磁流量计选型与开发
c语言·c++·算法
爱喝水的鱼丶2 小时前
SAP-ABAP:ALV通用封装实践——搭建可复用的ALV开发工具类,减少80%重复代码
开发语言·性能优化·sap·abap·erp·alv
脱胎换骨-军哥2 小时前
C++/Rust无缝互操作:混合系统新常态
开发语言·c++·rust
songroom2 小时前
Kimi K3:Rust封装XTP接口详细教程实践
开发语言·后端·rust
世人万千丶2 小时前
鸿蒙Flutter Flexible与Expanded的区别
学习·flutter·harmonyos·鸿蒙
kebeiovo2 小时前
游戏服务端开发:Actor模型详解(Go语言)
开发语言·后端·golang
香辣牛肉饭3 小时前
【算法】动态规划 最长公共子序列(LCS)
经验分享·笔记·算法·动态规划
迷途呀3 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp