C (六)基礎篇 陣列

2021-10-12 03:33:40 字數 1798 閱讀 7628

本隨筆為個人複習鞏固知識用,多從書上總結與理解歸納得來,如有錯誤麻煩指正

資料簡單來說就是將一連串相同型別的的資料按順序儲存起來的容器。陣列中的數值型別預設為0,引用型別預設為null。陣列的索引從0開始,具有n個元素的陣列的縮影為從0~n-1。

1.陣列的建立

//宣告乙個用於儲存int型別的一維陣列並賦值

int[

] array1 =

newint[2

];array1[0]

=1; array1[1]

=2;//宣告同時賦值

int[

] array2 =

newint

;//另一種宣告方式

int[

] array3 =

;//宣告二維陣列

int[

,] multiarray =

newint[2

,3];

multiarray[0,

0]=1

; multiarray[0,

1]=2

;//宣告同時賦值

int[

,] multiarray2 =,}

;

2.陣列的遍歷

陣列是從抽象類array派生的引用型別。由於此型別實現類ienumerable介面的ienumerator,因此可以對c#中所有陣列使用foreach迭(die)代。

打字的時候還有些字打不出來(一直以來都讀錯了),我的輸入法可以用分號+x的形式開手寫,遇到一些情況可以考慮一下。

int

array =

newint

;//用for遍歷

for(

int i =

0; i <

5; i++

)//用foreach遍歷

foreach

(int n in array)

3.迭代器

除了普通的陣列,很多運算元組的泛型類sql語句都支援foreach,比如list,dictionary等,除此之外我們也可以對任何自定義的型別使用foreach,前提是繼承了ienumerable介面(這個介面有泛型和非泛型兩版本)。

非泛型介面的geteknumerator示例

class

intlist

:system.collections.ienumerable

set}

public

int length

}public

intlist

(int length)

public

system.collections.ienumerator

getenumerator()

//重寫介面方法

}class

program

foreach

(var n in list)

//foreach迴圈

}}

4.var

var

:根據所賦值資料推斷出型別

var v1=1;

//int

var v2=

"2";

//string

var v3=

'3';

//char

var v4=

true

;//bool

在unity中,可以通過對迭代器c#教程的運用實現類似非同步的效果,之後會另開篇章說一下。

Java基礎篇 陣列排序

每一趟都從待排序的資料元素中選擇處最小 或最大 的乙個元素,順序地放在已排序好的數列的最末端,直到全部資料元素都放入了已排序好的數列。public int choicesort int array 比較相鄰元素的值,如果滿足條件則交換位置,直到所有相鄰元素都不滿足條件為止。public int bu...

基礎篇 陣列與鍊錶

理論介紹 陣列 切片 在go語言的復合資料型別中,需要認識兩種必要的資料型別 陣列跟切片都是指一系列同一型別資料的結合。陣列中包含的每個資料被稱為陣列元素,乙個陣列包含的元素個數成為陣列的長度。不過,在go語言中陣列與切片有乙個很大的區別,陣列長度在定義後不可更改,陣列宣告的時候指定的元素個數,就是...

C 初級篇陣列的用法

一 一維 int numbers new int 不定長 int numbers new int 3 定長 二 多維 int numbers new int 不定長 int numbers new int 2,2 定長 三 例子 a int mf1 new int 6 注意初始化陣列的範圍,或者指定...