程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 之數組,

C# 之數組,

編輯:C#入門知識

C# 之數組,


什麼是數組?
數組是一種數據結構,包含同一個類型的多個元素。
數組的聲明:
int[] myIntArray; 
注:聲明數組時,方括號 ([]) 必須跟在類型後面,而不是變量名後面。在 C# 中,將方括號放在變量名後是不合法的語法
數組的初始化:

我們知道數組是引用類型,所以需要給他分配堆上的內存。
1.myIntArray = new int[3];
2.myIntArray = new int[] { 1, 2, 3 };
3.int[] myIntArray = { 1, 2, 3 };  //當使用這種方法對數組進行初始化時,只能在聲明變量數組時使用,不能在聲明數組之後使用。
數組的訪問:
數組在聲明和初始化後,可以使用索引器進行訪問,索引器總是以0開頭,表示第一個元素。

int[] myIntArray = { 1, 2, 3 };
Console.WriteLine("intValue = {0}", myIntArray[0]);
Console.Read();

結果為:intValue = 1
數組的類型:
1.多維數組:
一般的數組(也稱一維數組)用一個整數來索引,多維數組用兩個或多個整數來索引。

static void Main(string[] args)
        {
            //聲明一個二維數組  兩行三列
            int[,] myIntArray1;
            myIntArray1 = new int[2, 3];
            myIntArray1[0, 0] = 1;
            myIntArray1[0, 1] = 11;
            myIntArray1[0, 2] = 111;
            myIntArray1[1, 0] = 2;
            myIntArray1[1, 1] = 22;
            myIntArray1[1, 2] = 222;  //等同於 int[,] myIntArray1 = { { 1,11,111}, { 2,22,222} };
            Console.WriteLine("{0},{1},{2}", myIntArray1[0, 0], myIntArray1[0, 1], myIntArray1[0, 2]);
            Console.WriteLine("{0},{1},{2}", myIntArray1[1, 0], myIntArray1[1, 1], myIntArray1[1, 2]);
            Console.Read();
        }

結果為:

static void Main(string[] args)
        {
            //聲明一個二維數組  三行三列
            int[,] myIntArray2;
            myIntArray2 = new int[,] { { 1, 11, 111 }, { 2, 22, 222 }, { 3, 33, 333 }, { 4, 44, 444 } };

            Console.WriteLine("{0},{1},{2}", myIntArray2[0, 0], myIntArray2[0, 1], myIntArray2[0, 2]);
            Console.WriteLine("{0},{1},{2}", myIntArray2[1, 0], myIntArray2[1, 1], myIntArray2[1, 2]);
            Console.WriteLine("{0},{1},{2}", myIntArray2[2, 0], myIntArray2[2, 1], myIntArray2[2, 2]);
            Console.WriteLine("{0},{1},{2}", myIntArray2[3, 0], myIntArray2[3, 1], myIntArray2[3, 2]);
            Console.Read();
        }

結果為:

static void Main(string[] args)
        {
            //聲明一個三維數組  三行三列
            int[, ,] myIntArray3;
            myIntArray3 = new int[,,] { { {1,1}, {11,11}, {111,111} }, 
                                        { {2,2}, {22,22}, {222,222} }, 
                                        { {3,3}, {33,33}, {333,333} }, 
                                        { {4,4}, {44,44}, {444,444} } 
                                      };

            Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[0, 0, 0], myIntArray3[0, 0, 1], myIntArray3[0, 1, 0], myIntArray3[0, 1, 1], 
                myIntArray3[0, 2, 0], myIntArray3[0, 2, 1]);
            Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[1, 0, 0], myIntArray3[1, 0, 1], myIntArray3[1, 1, 0], myIntArray3[1, 1, 1], 
                myIntArray3[1, 2, 0], myIntArray3[1, 2, 1]);
            Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[2, 0, 0], myIntArray3[2, 0, 1], myIntArray3[2, 1, 0], myIntArray3[2, 1, 1],
                myIntArray3[2, 2, 0], myIntArray3[2, 2, 1]);
            Console.WriteLine("{0},{1},{2},{3},{4},{5}", myIntArray3[3, 0, 0], myIntArray3[3, 0, 1], myIntArray3[3, 1, 0], myIntArray3[3, 1, 1],
                myIntArray3[3, 2, 0], myIntArray3[3, 2, 1]);
            Console.Read();
        }

結果為:

2.鋸齒數組:
一般多維數組的大小是矩形的,而鋸齒數組的大小比較靈活,每一行都可以有不同的大小。

在初始化鋸齒數組時,先設置該數組包含的行數。定義各行中元素個數的第二個括號設置為空,因為這類數組的每一行包含不同的元素數。

static void Main(string[] args)
        {
            //聲明一個鋸齒數組  三行
            int[][] myIntArray4;
            myIntArray4 = new int[3][];

            myIntArray4[0] = new int[] { 1,11,111};
            myIntArray4[1] = new int[2] { 2, 22 };
            myIntArray4[2] = new int[] { 3,33,333,3333};

            for (int i = 0; i < myIntArray4.Length; i++)
            {
                for (int j = 0; j < myIntArray4[i].Length; j++)
                {
                    Console.WriteLine("{0}",myIntArray4[i][j]);
                }
            }
            Console.Read();
        }

結果為:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved