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#基础本身不难,有编程基础的人会很快上手。

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

请期待我的下一篇博客。

相关推荐
bluebonnet2710 分钟前
【Rust练习】15.match 和 if let
开发语言·后端·rust
yueqingll25 分钟前
020、二级Java选择题综合知识点(持续更新版)
java·开发语言
计算机学姐42 分钟前
基于python+django+vue的在线学习资源推送系统
开发语言·vue.js·python·学习·django·pip·web3.py
A洛1 小时前
Cloudflare Pages 部署 Next.js 应用教程
开发语言·github·nextjs·cloudflare·cloudflarepages
lly2024061 小时前
Rust 函数
开发语言
许野平1 小时前
Rust:深入浅出说一说 Error 类型
java·开发语言·rust·error
jingling5551 小时前
后端开发刷题 | 数字字符串转化成IP地址
java·开发语言·javascript·算法
云边有个稻草人1 小时前
【刷题】Day5--数字在升序数组中出现的次数
开发语言·笔记·算法
王大傻09281 小时前
python selenium 显示等待 + EC
开发语言·python·selenium·自动化
闲人编程1 小时前
Python实现 Socket.IO 的在线游戏场景
开发语言·python·游戏·网络编程·io·socket·异步