2차원 배열의 크기를 동적으로 변경 - C#

Software/C#|2024. 4. 18. 14:09
반응형

        private static Array ResizeArray(Array arr, int[] newSizes)
        {
            if(newSizes.Length != arr.Rank)
            {
                throw new ArgumentException("arr must have the same number of dimensions " +
                                            "as there are elements in newSizes", "newSizes");
            }

            var temp = Array.CreateInstance(arr.GetType().GetElementType(), newSizes);
            int length = arr.Length <= temp.Length ? arr.Length : temp.Length;
            Array.ConstrainedCopy(arr, 0, temp, 0, length);

            return temp;
        }

//----------------------------------------------------------------------------------------------------------------

public int[,] array = new int[2, 2] ;     // 2 x 2 배열 생성 

array  = (int[,])ResizeArray( array  , new int[] {12, 3}) ;    // 12 x 3 형식으로 변경 

 

 

반응형

댓글()