广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中数组扩容的几种方式介绍
  • 579
分享到

C#中数组扩容的几种方式介绍

2024-04-02 19:04:59 579人浏览 安东尼
摘要

假设有一个规定长度的数组,如何扩容呢?最容易想到的是通过如下方式扩容: class Program { static void Main(string

假设有一个规定长度的数组,如何扩容呢?最容易想到的是通过如下方式扩容:

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

报错:未处理IndexOutOfRanageException,索引超出了数组界限。

创建一个扩容的临时数组,然后赋值给原数组,使用循环遍历方式

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            int[] temp = new int[arrs.Length + 1];
            //遍历arrs数组,把该数组的元素全部赋值给temp数组
            for (int i = 0; i < arrs.Length; i++)
            {
                temp[i] = arrs[i];
            }
            //把临时数组赋值给原数组,这时原数组已经扩容
            arrs = temp;
            //给扩容后原数组的最后一个位置赋值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

创建一个扩容的临时数组,然后赋值给原数组,使用Array的静态方法

像这种平常的数组间的拷贝,Array类肯定为我们准备了静态方法:Array.Copy()。

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            int[] temp = new int[arrs.Length + 1];
            Array.Copy(arrs, temp, arrs.Length);
            //把临时数组赋值给原数组,这时原数组已经扩容
            arrs = temp;
            //给扩容后原数组的最后一个位置赋值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

使用Array的静态方法扩容

但是,拷贝来拷贝去显得比较繁琐,我们也可以使用Array.Resize()方法给数组扩容。

        static void Main(string[] args)
        {
            int[] arrs = new[] {1, 2, 3, 4, 5};
            Array.Resize(ref arrs, arrs.Length + 1);
            //给扩容后原数组的最后一个位置赋值
            arrs[arrs.Length - 1] = 6;
            foreach (var item in arrs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

总结:数组扩容优先考虑使用Array的静态方法Resize,其次考虑把一个扩容的、临时的数组赋值给原数组。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对编程网的支持。如果你想了解更多相关内容请查看下面相关链接

--结束END--

本文标题: C#中数组扩容的几种方式介绍

本文链接: https://www.lsjlt.com/news/166162.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中数组扩容的几种方式介绍
    假设有一个规定长度的数组,如何扩容呢?最容易想到的是通过如下方式扩容: class Program { static void Main(string...
    99+
    2022-11-13
  • C#实现加密的几种方法介绍
    1.ACSII码加密 //ACSII码加密 private static string ACSIIPWd(string rpwd) { ...
    99+
    2022-11-13
  • Windows 8 的几种关机方式介绍(图文)
    没有了传统的“开始”按钮,是不是觉得一时间不知道怎么关机了?以下是几种Win8下的关机方式。方法一:Metro界面下按Win+i键打开设置窗口,有关机按钮,或者通过Charm菜单,选...
    99+
    2022-06-04
    几种 方式 图文
  • c++数组初始化的方式有哪几种
    C++数组可以使用以下几种方式进行初始化:1. 使用花括号{}初始化:cppint arr1[] = {1, 2, 3, 4, 5}...
    99+
    2023-10-18
    c++
  • C#调用接口的四种方式介绍
    在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用,所以首先需要通过调用登录接口来保存cookie...
    99+
    2022-11-13
  • java中List分页的几种方法介绍
    目录1.根据入参带分页参数进行sql查询分页2.对所有list根据分页参数分页3.PageHelper分页1.根据入参带分页参数进行sql查询分页 Criter...
    99+
    2022-11-12
  • css中常用的几种居中方法介绍
    本篇内容主要讲解“css中常用的几种居中方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中常用的几种居中方法介绍”吧!今天我们就细数一下几种方法:1...
    99+
    2022-10-19
  • Python中删除文件的几种方法介绍
    本篇内容主要讲解“Python中删除文件的几种方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中删除文件的几种方法介绍”吧!前言很多时候开发者需要删除文件。可能是他错误地创建了...
    99+
    2023-06-07
  • C++获取文件大小数值的三种方式介绍
    目录方式一方式二方式三总结方式一 推荐使用此方式获得文件大小! C/C++、Window、Linux 环境都可以使用! 通过结构体struct stat获得。 需要包含头文件:#in...
    99+
    2022-11-13
  • c语言数组初始化的方式有哪几种
    在C语言中,数组的初始化方式有以下几种:1. 声明时指定元素的初始值:```cint arr[] = {1, 2, 3, 4, 5}...
    99+
    2023-09-20
    c语言
  • 简单介绍Python中的几种数据类型
    大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"he...
    99+
    2022-06-04
    几种 数据类型 简单
  • python数组循环的几种方式
     Python中循环数组有几种方式: for-in循环,可以遍历数组中的每一个元素。while循环,使用索引进行循环。列表推导式,可以快速创建新的列表。递归,可以遍历多维数组。 for-in循环 arr = [1, 2, 3, 4, 5]f...
    99+
    2023-09-03
    python 开发语言
  • PHP中$_FILES数组的内容介绍
    本篇内容主要讲解“PHP中$_FILES数组的内容介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中$_FILES数组的内容介绍”吧!PHP $_FILES数组内容如下:$_FILES[...
    99+
    2023-06-17
  • JavaScript中数组赋值有几种方式
    在JavaScript中,数组赋值有以下几种方式:1. 直接赋值:可以通过将一个数组赋给另一个数组来直接赋值。例如:```javas...
    99+
    2023-09-05
    javascript
  • win8系统下磁盘分区的几种操作方式介绍
    在Win8系统下,磁盘分区可以通过以下几种方式进行操作:1. 使用磁盘管理工具:Win8系统自带了一个磁盘管理工具,可以通过控制面板...
    99+
    2023-08-30
    win8
  • Go中数组传参的几种方式小结
    初学Golang,数组传参问题就是把我整不会了,以前我们使用c语言进行数组传参时是这样传递的,直接传递数组的起始地址即可。 而在go中数组传参我们以以下两种方式进行传递,这里我直接...
    99+
    2023-03-08
    Go 数组传参
  • MySQL数据库的几种常见高可用方案介绍
    本篇内容主要讲解“MySQL数据库的几种常见高可用方案介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库的几种常见高可用方案介绍”吧!一、概述 ...
    99+
    2022-10-18
  • C++中两种字符串定义方式和区别介绍
    目录前言概念定义方式计算机的存储方式总结前言 在学习字符串这方面的内容时,发现字符串定义的两种方式虽然内容相同但还是有细微的区别 概念 字符串就是一串用双引号连接起来的字符串字面值,...
    99+
    2022-11-12
  • 两种MySQL数据库授权的方式介绍
    下面讲讲关于两种MySQL数据库授权的方式介绍,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完两种MySQL数据库授权的方式这篇文章你一定会有所受益。MySQL数据库授权的两种方...
    99+
    2022-10-18
  • php中循环数组的几种方式是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑数组循环遍历的四种方式1、使用for循环遍历数组conut($arr);用于统计数组元素的个数。for循环只能用于遍历,纯索引数组!!!!如果存在关联数组,count统...
    99+
    2018-01-31
    php 数组 循环数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作