How to copy a two dimensional (2D) array to one dimensional (1D) array in C#

1 Answer

0 votes
using System;

class Program
{
    static void Main() {
        int[,] array2d = { { 1,   2,   3,   4,  0},
                           {-5,  -4,   0,   8,  9},
                           { 1,   7, 100,   9,  6},
                           { 9,  10,  11,  12, 19} };
        
        int[] array = new int[array2d.GetLength(0) * array2d.GetLength(1)];    
        
        // void BlockCopy (Array src, int srcOffset, Array dst, int dstOffset, int count);
        Buffer.BlockCopy(array2d, 0, array, 0, array.Length * sizeof(int));

        Console.WriteLine(string.Join(", ", array));
    }
}




/*
run:

1, 2, 3, 4, 0, -5, -4, 0, 8, 9, 1, 7, 100, 9, 6, 9, 10, 11, 12, 19

*/

 



answered Jul 9, 2023 by avibootz
...