基本數(shù)組
數(shù)組的定義:存儲相同數(shù)據(jù)類型的集合
第一種寫法:動態(tài)分配了內(nèi)存空間
int[] intArray = new int[4];
第二種寫法
int[] intArray = {1,2,3,4};
第三種寫法
int[] intArray = new int[4]{1,2,3,4};
初始化數(shù)組,要么給定其長度,要么初始化數(shù)組元素
實(shí)際上我們的int[] 它的原型為Array
而int[]數(shù)組可以 用foreach循環(huán)的原因歸根結(jié)底為Array類本身已經(jīng)實(shí)現(xiàn)了IEnumrable這個接口。
訪問數(shù)組元素
intArray[0];訪問數(shù)組中第0個位置儲存的元素。
當(dāng)數(shù)組訪問越界時,程序崩潰!
? ?遍歷數(shù)組
for循環(huán)遍歷
? ?for(int i = 0;i<intArray.Length;i++)
{
? ? Console.WriteLine ("下標(biāo):{0},值{1}",i,intArray[i]);
}
foreach循環(huán)遍歷
foreach (var item in intArray) {
Console.WriteLine ("數(shù)組的元素為:" + item);
? ?}
如何修改數(shù)組里面的元素
通過索引取值進(jìn)行賦值
intArray[2] = 10.0f; 這是錯誤的因?yàn)閿?shù)據(jù)類型不對
intArray[2] = 10; 這是正確的
Array類型的數(shù)組
因?yàn)锳rray類是抽象類,所以不能被實(shí)例化,但是Array類有一個方法是我們能夠創(chuàng)建Array類型的數(shù)組
CreateInstance();方法的參數(shù)是 一個Type類型和一個int類型,分別表示了數(shù)組的類型和數(shù)組的長度。
Array arr = Array.CreateInstance (typeof(int), 5);
以上代碼就是創(chuàng)建了一個 長度為5的int類型的數(shù)組。
arr.SetValue (1, 0);
這是在數(shù)組中插入元素的方法第一個參數(shù)是數(shù)組元素,第二個參數(shù)是數(shù)組的位置,也就是下標(biāo)。
遍歷數(shù)組
for (int i = 0; i < 3; i++) {
Console.WriteLine (a.GetValue(i));//該方法獲取下標(biāo)為i的數(shù)組
}
ArraySegment<T>
int[] intArray1 = { 1, 2, 3, 4};
int[] intArray2 = { 5, 6, 7, 8 };
var se1 = new ArraySegment[2] {
new ArraySegment(intArray1, 0, 3),
new ArraySegment(intArray2, 3, 1)
? ?};
? ?Print (se1);
static void Print(ArraySegment[] segements)
{
foreach (var segement in segements) {
for (int i = segement.Offset; i < segement.Count+segement.Offset; i++) {
Console.WriteLine (segement.Array[i]);
}
}
}