前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#中动态调整数组大小的代码

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

原创
作者头像
用户7999227
修改2021-11-03 10:35:53
2.3K0
修改2021-11-03 10:35:53
举报
文章被收录于专栏:Java小王子Java小王子

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

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档