C#學習日記16---引用類型 之 數組

       有關數組的定義我已經在    C#學習日記12---引用類型  中說到過了,這裏就不羅嗦了,總的說來 數組 就是一組類型相同的有序數據,System.Array類是所有數組的基類,(好比 System.object 是所有類的基類一樣)。

聲明一個數組:

          int[] arr;  //這裏我們只是聲明瞭一個數組,沒有初始化,還不能用。比如arr[0] = 1會報錯

        由於以前寫慣了C定義數組的方式,所以我寫C#的時候時常會這樣定義 int arr[]; 這樣寫對於C#來說是不合法的。

 

初始化數組:

        經過上面的步驟我們已經成功的聲明瞭一個一維數組,C#中數組可以是一維也可以是多維的,同樣也支持矩陣和參差不齊的數組,由於是新手我們先從一維數組學起,後面會涉及一些多維度的。

    對數組的初始化實質上是在爲數組開闢存儲空間以及賦予初始值默認初始值爲0,當然也可以在初始化時對數組賦予指定的值。由於數組是引用類型的,所以需要使用new語句來創建數組實例:

             arr = new int[5];

     我們在初始化的時候在‘[]’裏面定義了數組元素個數(5個),它的個數可以通過.Length訪問 arry.Length;數組第一個元素對應的下標是0,後面依次+1。

 

賦值給數組:

     經過上面的2步我們已經成功創建了一個空間大小爲 5*size(int) 的一維數組並給裏面元素賦初始值0,比如我們輸出arr中的第二個元素。Console.WriteLine(arr[1]);(第一個元素下標對應0,第二個對應1)

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

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //聲明數組
            arr = new int[5];     //初始化
            int i =arr.Length; //獲取元素個數
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //輸出第二個元素的值,以及元素個數
        }
    }
}


結果如下:

 

   這裏arr[1]的值是使用的默認值0,要人爲的賦值可以有2種途徑:

       

               1.  初始化的時候主動賦值;

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

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //聲明數組
            arr = new int[5]{1,2,3,4,5};     // 初始化並賦值
            int i =arr.Length; //獲取元素個數
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //輸出第二個元素的值,以及元素個數
        }
    }
}

 其實在初始化賦值的時候還可以這樣:

         int[] arr = {1,2,3,4,5}      //連大小都不用寫了 

 

       2.  訪問每一個元素並更改默認值;

 

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

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //聲明數組
            arr = new int[5];     // 初始化並賦值
            int i =arr.Length; //獲取元素個數
            //挨個訪問並賦值 1,2,3,4,5
            for (int j=0;j<i;j++)
            {
                arr[j] = j + 1;
 
            }
            
            Console.WriteLine("value:{0}\nLength:{1}",arr[1],i);  //輸出第二個元素的值,以及元素個數
        }
    }
}


foreach()語句:

      在上面的實例中,我們使用一個 for 循環來訪問每個數組元素並賦值。現在學習使用一個foreach 語句來遍歷數組並輸出所有結果。foreach語句用於循環訪問集合,以獲取您需要的信息,但不能用於在源集合中添加或移除項,否則可能產生不可預知的副作用。 如果需要在源集合中添加或移除項,請使用 for 循環。

 

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

namespace Test
{  
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr;              //聲明數組
            arr = new int[5];     // 初始化並賦值
            int i =arr.Length; //獲取元素個數
                       //挨個訪問並賦值 1,2,3,4,5
            for (int j=0;j<i;j++)
            {
                arr[j] = j + 1;
 
            }
                      //foreach 遍歷語句
            foreach (int j in arr)
            {
              Console.WriteLine("arr[{0}] value:{1}",j-1,j);   //遍歷並輸出
              
            }
            
        }
    }
}


運行結果:

 

 

 

   有關一維數組的用法就簡單的介紹在這裏了,後面還會有多維數組、交錯數組、參數數組、Array類的學習,請大家多多支持,您的評論與建議是我完善自我的動力……^_^……謝謝……

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章