Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để chuyển đổi mảng 2D thành mảng 1D trong C #?

Đặt mảng hai chiều và mảng một chiều -

int[,] a = new int[2, 2] {{1,2}, {3,4} };
int[] b = new int[4];

Để chuyển đổi mảng 2D sang 1D, hãy đặt hai chiều thành một chiều mà chúng tôi đã khai báo trước đó -

for (i = 0; i < 2; i++) {
   for (j = 0; j < 2; j++) {
      b[k++] = a[i, j];
   }
}

Sau đây là mã hoàn chỉnh để chuyển đổi mảng hai chiều thành mảng một chiều trong C # -

Ví dụ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Program {
   class twodmatrix {

      static void Main(string[] args) {
      int[, ] a = new int[2, 2] {
         {
            1,
            2
         },{
            3,
            4
            }
         };

         int i, j;
         int[] b = new int[4];
         int k = 0;

         Console.WriteLine("Two-Dimensional Array...");
         for (i = 0; i < 2; i++) {

            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i, j]);
            }
         }

         Console.WriteLine("One-Dimensional Array...");
         for (i = 0; i < 2; i++) {
            for (j = 0; j < 2; j++) {
               b[k++] = a[i, j];
            }
         }  

         for (i = 0; i < 2 * 2; i++) {
            Console.WriteLine("{0}\t", b[i]);
         }
         Console.ReadKey();
      }
   }
}