1. 程式人生 > >C#二維陣列的定義,初始化(重在理解兩者的區別)

C#二維陣列的定義,初始化(重在理解兩者的區別)

在學習C++基礎知識之後 , 現在學習C#其實簡單很多,但是還是有些不同的,就比如C#中二維陣列的定義、宣告 都 是有所不同的。

下面看看有什麼不同:

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

namespace 二維陣列
{
    class Program
    {
        static void Main(string[] args)
        {
       
            //二維陣列:
            //規則二維陣列的定義和初始化
            int[,] Arr = new int[2, 5] { { 1, 2, 3, 5, 6 }, { 1, 2, 3, 4, 5 } };
            Console.WriteLine("規則二維陣列的輸出:");
            for (int i = 0; i < 2; ++i)
            {
                for (int j = 0; j < 5; ++j)
                {
                    Console.Write(Convert.ToString(Arr[i,j]) + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine("----------------");
            //不規則二維陣列
            int [][] arr = new int [3][ ];  //表示含有三個一維陣列的陣列
            arr[0] = new int[5]{1,2,3,4,5};
            arr[1] = new int [2]{0,1};
            arr[2] = new int[0] { };
            Console.WriteLine("輸出方法一:");
            for (int i = 0; i < 2; ++i)
            {
                for (int j = 0; j < 5; ++j)
                {
                    Console.Write(Convert.ToString(Arr[i, j]) + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("輸出方法二:");
            for (int ii = 0; ii < arr.Length; ++ii)// arr.Length是 3可以看出arr是包含三個一維陣列的陣列
            {
                foreach (int j in arr[ii])
                {
                    Console.Write(j+ " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();


        }
    }
}
從上面的C#程式碼可以看出,C#有兩種不同的定義二維陣列的方式,當然兩者的區分上面已經說得很清楚了,不懂的話copy下來執行一遍,對比一下。

還有C++在定義二維陣列的時候,當然是必須寫出 陣列的'列數',而C#的不規則二維陣列可以理解為 儲存一維陣列的陣列