Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C#中动态调整数组大小的代码

C#中动态调整数组大小的代码

原创
作者头像
用户7999227
修改于 2021-11-03 02:35:53
修改于 2021-11-03 02:35:53
2.7K00
代码可运行
举报
文章被收录于专栏:Java小王子Java小王子
运行总次数:0
代码可运行

通常,我们创建一个数组后就不能调整其长度,但是Array类提供了一个静态方法CreateInstance用来创建一个动态数组,所以我们可以通过它来动态调整数组的长度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace ArrayManipulation
{
    Class Program
    {
        static void Main (String[] args)
        {
            int[] arr = new int[]{1,2,3};
            PrintArr(arr);

        arr = (int[])Redim(arr,5);
        PrintArr (arr);

        arr = (int[]) Redim (arr, 2);
        PrintArr (arr);

    )

    public static Array Redim (Array origArray, int desiredSize)
    {
        //determine the type of element
        Type t = origArray.GetType().GetElementType();

        //create a number of elements with a new array of expectations
        //new array type must match the type of the original array
        Array newArray = Array.CreateInstance (t, desiredSize);

        //copy the original elements of the array to the new array
        Array.Copy (origArray, 0, newArray, 0, Math.Min (origArray.Length, desiredSize));

        //return new array
        return newArray;
    }

    //print array
    public static void PrintArr (int[] arr)
    {
        foreach (int x in arr)
        {
            Console.Write (x + ",");
        }
        Console.WriteLine ();
    }
}

}</pre> 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数组(ArrayPool数组池、Span<T>结构)
  如果需要使用相同的类型的多个对象,就可以使用集合和数组,这一节主要讲解数组,其中会重点涉及到Span<T>结构和ArrayPool数组池。我们也会先涉及到简单的数组、多维数组、锯齿数组、Array类。
小世界的野孩子
2019/07/30
1.6K0
数组(ArrayPool数组池、Span<T>结构)
C# 经典排序算法大全
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117527.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
6930
C# 经典排序算法大全
C#归并排序算法
归并排序(Merge Sort)是一种高效的排序算法,采用分治法(Divide and Conquer)的一个典型应用。这个算法在1945年由John von Neumann首次提出。与其它排序算法,如快速排序不同,归并排序无论在最好、最坏还是平均情况下,时间复杂度都是O(n log n),这使得它在大数据集上非常有效。归并排序是建立在归并操作上的一种稳定的排序算法,该算法将已有序的子序列合并,得到完全有序的序列。
Michel_Rolle
2024/10/10
2.7K0
编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]
    软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行。
aehyok
2018/08/31
1.8K0
编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]
C# socket通信实现两个控制台之间聊天
1、运行效果 图1 启动服务端 图2 启动客户端 图3 客户发消息 图4 服务端发消息 图5 客户主动关闭,服务段打印异常详情 2、服务器端源码 服务端和客户端都要添加一下namespace: using System.Net; using System.Net.Sockets; using System.Threading; 源码:  class Program     {         private static string serverIP = "192.168.3.42";
用户7705674
2021/11/03
8980
浅谈C#数组(一)
  如果需要使用同一类型的多个对象,可以使用数组和集合(后面介绍)。C#用特殊的记号声明,初始化和使用数组。Array类在后台发挥作用,它为数组中的元素排序和过滤提供了多个方法。使用枚举器,可以迭代数组中的所有元素。   如果需要使用不同类型的多个对象,可以使用Tuple(元组)类型。
全栈程序员站长
2022/09/07
1K0
浅谈C#数组(一)
C# 静态与动态数组
C#中的数组是由System.Array类衍生出来的引用对象,因此可以使用Array类中的各种方法对数组进行各种操作。
王瑞MVP
2022/12/28
1.7K0
【愚公系列】2023年10月 数据结构(一)-数组
数据结构是计算机科学中的一个重要概念,它描述了数据之间的组织方式和关系,以及对这些数据的访问和操作。常见的数据结构有:数组、链表、栈、队列、哈希表、树、堆和图。
愚公搬代码
2023/10/31
4190
C#选择排序(Selection Sort)算法
选择排序算法的时间复杂度为O(n^2),其中n是待排序数组的大小。尽管其时间复杂度较高,但选择排序算法比较简单易懂,并且在某些特定情况下,例如对于小规模的数组来说,其性能可能表现得比其他高级排序算法要好。
追逐时光者
2023/07/21
2930
C#选择排序(Selection Sort)算法
C#:数据结构queue队列源码:循环使用数组头标,尾标,防止不停扩容数组
https://referencesource.microsoft.com/#mscorlib/system/collections/queue.cs
立羽
2023/08/24
1950
C# 数组基础
一、数组的基础知识 1、数组有什么用? 如果需要同一个类型的多个对象,就可以使用数组。数组是一种数组结构,它可以包含同一个类型的多个元素. 2、数组的初始化方式 第一种:先声明后赋值 int[] ar
郑小超.
2018/01/26
1.2K0
C#实例练习4:数组和指针
实验1:求若干学生的平均身高、最高身高、最低身高以及高于平均身高的人数 已知10个学生的身高为156、150、167、178、180、176、173、154、155、158,求平均身高、最高身高 最低身高,并统计高于平均身高的人数。 using System; namespace ConsoleApp4 { class Program { static void Main(string[] args) { //声明并初始化一个
小孙同学
2022/01/17
8590
C#实例练习4:数组和指针
C#中的 Array和ArrayList
大家好,我是苏州程序大白,讲讲上个文章提到的Array。内容有点多。我这里会持续更新,希望大家关注我、支持我,谢谢大家。不废话了下面我们开始。
苏州程序大白
2021/08/13
1.8K0
C#中的 Array和ArrayList
Python3 与 C# 扩展之~基础衍生
在线编程: https://mybinder.org/v2/gh/lotapp/BaseCode/master
逸鹏
2018/07/08
1.8K0
Python3 与 C# 扩展之~基础衍生
C#桶排序算法
桶排序(Bucket Sort)是一种分布式排序算法,其基本思想是将数组分割成多个小区间,称为“桶”。算法的核心是将数据均匀地分配到这些桶中,然后对每个桶内的数据进行排序,最后再将所有桶内的数据合并成一个有序的数组。桶排序在处理大量数据时非常有效,特别是当数据分布比较均匀时。
Michel_Rolle
2024/10/10
2.7K0
【愚公系列】2023年02月 .NET/C#知识点-数组复制总结
第二步:在你的项目文件的属性组中添加一行 <AllowUnsafeBlocks>true</AllowUnsafeBlocks>:
愚公搬代码
2023/03/16
4490
【愚公系列】2023年02月 .NET/C#知识点-数组复制总结
C#中的委托delegate
委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。你可以通过委托调用方法。委托用于将方法参数传递给其它方法。事件处理程序就是通过委托调用的方法(这是MSDN中对委托的解释)。个人感觉C#中委托类似于C++中的函数指针,但委托又是一种特殊的类,只有方法的类。
卡尔曼和玻尔兹曼谁曼
2019/01/25
1K0
C#中的委托delegate
C# 基础知识系列- 3 集合数组
C#/.NET Framework 提供了很多很有意思的集合类,数组、列表、链表、Set、字典等一系列的类。其中数组是语言的一部分,个人认为严格意义上不属于集合类这一部分。C#开发中常用的集合有数组、 List类、Set接口、Dictionary类、Queue类、LinkedList类等,其他的出镜率不高。与其他(java)语言不同的一点是,C#的List是类,而不是接口,接口是IList,但这个接口意义不大,在使用IList的时候更多的倾向于使用IEnumerable,这主要是因为IEnumerable 有 Linq的支持再者两者的方法基本一致,能用IList的地方基本都可以用IEnumerable。
程序员小高
2020/04/29
1.4K0
C#计数排序算法
计数排序(Counting Sort)是一种非比较型整数排序算法,其核心在于将输入的数字映射到数组索引上。与传统排序算法相比,计数排序在处理特定类型的数据时(如整数或小范围的值)具有非常高的效率。该算法的时间复杂度通常为O(n + k),其中n是待排序数组中的元素数量,k是数组中最大和最小元素的差值。
Michel_Rolle
2024/10/10
2.7K0
C# 算法系列一基本数据结构
作为一个程序员,算法是一个永远都绕不过去的话题,虽然在大学里参加过ACM的比赛,没记错的话,浙江赛区倒数第二,后来不知怎么的,就不在Care他了,但是现在后悔了,非常的后悔!!!如果当时好好学算法的话,现在去理解一些高深的框架可能会很easy,现在随着C#基础和Web技能的提升,发现哪里都用到算法,但是,很无奈.所以,从今天开始,要重新对自己定位,不能做一个工具的使用者.起码要做到知其所以然.好了,废话不多说,算法之旅,算是正式开始了.希望这个过程能贯穿我的整个职业生涯.甚至整个人生.
郑小超.
2018/12/28
4540
相关推荐
数组(ArrayPool数组池、Span<T>结构)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验