C#基础(5)交错数组*

前言

我们已经完成了一维数组和多维数组的简单学习(三维四维其实和二维数组的道理大差不差),那我们就来接触C#中的一个新概念,交错数组。

交错数组是什么呢?

在C#中,交错数组(Jagged Array)是一个包含其他数组的数组。它是一个多维数组的变体,在每个维度上可以有任意长度的子数组。交错数组可以看作是一个嵌套的数组结构。

交错数组的创建和访问方式与普通的多维数组有所不同。它的每个元素都是一个数组,可以通过分别指定各个维度的索引来访问其中的元素。

交错数组的长度可以在每个维度上不同,因此它具有更大的灵活性。它适用于某些情况下,每个子数组的长度可能不同或者需要动态调整数组大小的情况。

需要注意的是,交错数组在内存中的存储方式与二维数组不同,因此在性能方面可能有差异。在选择使用交错数组时,应根据具体的需求和性能要求进行评估。

简单来说,交错数组就是,数组的数组。

但是这个是使用得不多,所以博主就简单讲解,大家也可以选学。

基本概念:数组的数组

声明

cs 复制代码
int[][] arr1;//后面需要赋值操作
int[][] arr2 =new int[3][];//后面一个[]不填,是表示存储的是数组,前面一个[]表示存储的数量
int[][] arr3 =new int[3][]{new int[]{1,2,3},
                           new int[]{1,2}.
                           new int[]{1}};
int[][] arr4 =new int[][]{new int[]{1,2,3},
                           new int[]{1,2}.
                           new int[]{1}};
int[][] arr4 ={new int[]{1,2,3},
               new int[]{1,2}.
               new int[]{1}};

其实我们发现,就算是交错数组,也只是元素发生变化而已,其他和数组的思维几乎是一模一样的。

使用

长度获取

列获取:同二维数组

行获取:获取某一行的长度

cs 复制代码
arr[0].Length;

获取元素:直接索引

修改元素:直接赋值

遍历:

csharp 复制代码
using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] jaggedArray = new int[][]
        {
            new int[] { 1, 2, 3 },
            new int[] { 4, 5 },
            new int[] { 6, 7, 8, 9 }
        };

        foreach (int[] innerArray in jaggedArray)
        {
            foreach (int element in innerArray)
            {
                Console.Write(element + " ");
            }
            Console.WriteLine();
        }
    }
}
 

增删查改:同二维数组,这里就不给你举例了,你要学会举一反三

总结

至此,数组的基本学习我们就结束了,但是数组在日后和我们打交道的次数只多不少,所以大家一定要牢记前两节一维数组和二维数组的概念。

c#基础本身不难,有编程基础的人会很快上手。

但博主还是那句话,戒骄戒躁,学习需要脚踏实地。

请期待我的下一篇博客。

相关推荐
mudtools7 小时前
.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
c#·.net
侃侃_天下12 小时前
最终的信号类
开发语言·c++·算法
echoarts13 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix13 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
大飞pkz13 小时前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
每天回答3个问题14 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说14 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔14 小时前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号15 小时前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_15 小时前
QT(4)
开发语言·汇编·c++·qt·算法