有關數組的定義我已經在 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類的學習,請大家多多支持,您的評論與建議是我完善自我的動力……^_^……謝謝……