调整C#中数组大小的方法

 更新时间:2024年06月25日 09:31:33   作者:码农浩克  
数组存储多个相同类型的一种非常常用的数据结构,它长度是固定,也就是数组一旦创建大小就固定了,C# 数组不支持动态长度,那在C#中是否有方法可以调整数组大小呢?本文将通过示例介绍一种调整一维数组大小的方法,需要的朋友可以参考下

前言

数组存储多个相同类型的一种非常常用的数据结构。它长度是固定,也就是数组一旦创建大小就固定了。C# 数组不支持动态长度。那在C#中是否有方法可以调整数组大小呢?本文将通过示例介绍一种调整一维数组大小的方法。

方法

数组实例是从 System.Array 类继承类型的对象。我们可以使用 Array.Resize<T> 方法调整数组大小。此方法只允许我们将一维数组中的元素数量更改为指定的大小。

1、方法定义:

Resize 方法定义如下:

public static void Resize<T>(ref T[] array, int newSize);

T: 数组中元素的类型。

数组: 需调整大小的一维数组、基于零的数组,或为空以创建具有指定大小的新数组。

newSize: 调整后数组大小。

示例

我们通过一些例子,了解调整大小如何影响数组。

1、调大数组:

using System;
namespace Fountain.WinConsole.OtherDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 定义数组
            string[] carriers = { "ZTO", "SF", "YTO", "JT", "EMS", "YUNDA"};
            // 输出 数组大小:6
            Console.WriteLine("数组大小:{0}",carriers.Length);
            // 将数组调整为更大的大小
            Array.Resize(ref carriers, carriers.Length+5);
            // 输出 调整后数组大小:11
            Console.WriteLine("调整后数组大小:{0}", carriers.Length);
            // 任意键退出
            Console.Read();
        }
    }
}

2、调小数组:

using System;
namespace Fountain.WinConsole.OtherDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 定义数组
            string[] carriers = { "ZTO", "SF", "YTO", "JT", "EMS", "YUNDA"};
            // 输出 数组大小:6
            Console.WriteLine("数组大小:{0}",carriers.Length);
            // 将数组调整为更大的大小
            Array.Resize(ref carriers, 4);
            // 输出 调整后数组大小:4
            Console.WriteLine("调整后数组大小:{0}", carriers.Length);
            // 输出 ZTO SF YTO JT
            for (int i = 0; i < carriers.Length; i++)
            {
                // 输出调正后的数组元素
                Console.Write("{0} ", carriers[i]);
            }
            // 任意键退出
            Console.Read();
        }
    }
}

事项

1、Array.Resize 方法分配指定大小的新数组,并将元素从原数组复制到新数组,然后再将原数组替换为新数组。

2、如果数组为空,则创建一个指定大小的新数组。

3、如果 newSize 大于原数组的长度,则分配一个新数组,并将原数组的所有元素复制到新数组。

4、如果 newSize 小于原数组的长度,则分配一个新数组,并将原数组元素填充到新数组,直到新数组被填充完,原数组中的其余元素会被忽略。

小结

到此这篇关于调整C#中数组大小的方法的文章就介绍到这了,更多相关C#数组大小调整内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • .net C# 实现任意List的笛卡尔乘积算法代码

    .net C# 实现任意List的笛卡尔乘积算法代码

    笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。
    2013-05-05
  • C#基于JsonConvert解析Json数据的方法实例

    C#基于JsonConvert解析Json数据的方法实例

    最近初接触C#语言,发现JSON解析这块和JAVA差异过大,下面这篇文章主要给大家介绍了关于C#基于JsonConvert解析Json数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • c#获取季度时间实例代码(季度的第一天)

    c#获取季度时间实例代码(季度的第一天)

    这篇文章主要介绍了c#获取季度时间:季度的第一天、季度的最后一天等功能,大家参考使用吧
    2013-12-12
  • C#通过cmd调用7z软件实现压缩和解压文件

    C#通过cmd调用7z软件实现压缩和解压文件

    这篇文章介绍了C#通过cmd调用7z软件实现压缩和解压文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Unity屏幕雪花另类实现方式示例

    Unity屏幕雪花另类实现方式示例

    这篇文章主要介绍了Unity屏幕雪花另类实现方式示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • C#在RichTextBox中显示不同颜色文字的方法

    C#在RichTextBox中显示不同颜色文字的方法

    这篇文章主要介绍了C#在RichTextBox中显示不同颜色文字的方法,实例分析了C#中RichTextBox控件控制文字显示效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#引用类型作为方法的参数分析

    C#引用类型作为方法的参数分析

    这篇文章主要介绍了C#引用类型作为方法的参数分析,以实例的形式较为详细的分析了参数的传值问题,需要的朋友可以参考下
    2014-11-11
  • C#在foreach遍历删除集合中元素的三种实现方法

    C#在foreach遍历删除集合中元素的三种实现方法

    这篇文章主要给大家总结介绍了关于C#在foreach遍历删除集合中元素的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • C#实现装饰器模式

    C#实现装饰器模式

    这篇文章介绍了C#实现装饰器模式的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C#实现简单的点餐系统

    C#实现简单的点餐系统

    这篇文章主要为大家详细介绍了C#实现简单的点餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论