zoukankan      html  css  js  c++  java
  • C#动态分配一维数组和二维数组函数

     

     //动态调整一维数组长度
        public static Array Redim(Array origArray, int length)
        {
            //确定每个元素的类型
            Type t = origArray.GetType().GetElementType();
            //创建新的数组
            Array newArray = Array.CreateInstance(t, length);
            //原数组中的数据拷贝到新数组中
            Array.Copy(origArray, 0, newArray, 0, Math.Min(origArray.Length, length));
            return newArray;
        }


        //动态调整二维数组长度
        public static Array Redim(Array origArray, params int[] lengths)
        {
            //确定每个元素的类型
            Type t = origArray.GetType().GetElementType();
            //创建新的数组
            Array newArray = Array.CreateInstance(t, lengths);
            //原数组中的数据拷贝到新数组中
            for (int i = origArray.GetLowerBound(0); i <= Math.Min(origArray.GetUpperBound(0), newArray.GetUpperBound(0)); i++)
                for (int j = origArray.GetLowerBound(1); j <= Math.Min(origArray.GetUpperBound(1), newArray.GetUpperBound(1)); j++)
                    newArray.SetValue(origArray.GetValue(i, j), i, j);
            //在这里没有用Copy方法,如果用此方法,会把原数组中所有数据逐个拷贝到新数组中                 
            return newArray;
        }

        //如果在Redim方法中用Copy方法(动态调整二维数组长度)
        public static Array Redim(Array origArray, params int[] lengths)
        {
            int length = 1;
            for (int i = 0; i < lengths.Length; i++)
                length *= lengths;
            Type t = origArray.GetType().GetElementType();
            Array newArray = Array.CreateInstance(t, lengths);
            Array.Copy(origArray, 0, newArray, 0, Math.Min(origArray.Length, length));
            return newArray;
        }

  • 相关阅读:
    在Java当中如何优雅地处理临时文件
    lombok插件不建议使用的原因
    linux系统下修改tomcat的端口号时,需要修改的地方
    linux系统下报错为:直接在tomcat的bin目录下生成一个错误文件。
    Linux下修改tomcat端口号
    python实现断点续传下载文件
    Python中下划线---完全解读
    linux  指令 备注
    Linux下高并发socket最大连接数所受的各种限制
    python和pywin32实现窗口查找、遍历和点击
  • 原文地址:https://www.cnblogs.com/madengwei/p/1218349.html
Copyright © 2011-2022 走看看