C 陣列學習

2021-10-21 02:23:43 字數 3061 閱讀 2911

一、一維陣列

1.宣告

type arrayname;//型別 數值名字。如:int intarr;

2. 初始化

int arr = new int[5];int[0] = 1;int[1] = 2;

宣告時初始化:int arr = new int[5];

string strarr;

strarr = new string[7];

宣告陣列時初始化時,可以省略new運算子和陣列的長度,編譯器將根據初始值的數量自動計算陣列長度。這與上面並不衝突如:string strarr = ;

二、 二維陣列宣告

type[,] arrayname;

如: int[,] arr = new int[2,2];// 生成乙個2行2列的二維陣列

初始化int[,] arr = new int[2,2],};

int[,] arr = new int[,],}; //不指定行、列數

示例: int[,] arr = new int[,] ,,};//宣告3行2列的陣列,並程式設計讀取其維數

console.writeline(「行數為:」, arr.getlength(0));

console.writeline(「列數為:」, arr.getlength(1));

三、動態陣列

動態陣列實際上就是把陣列的定義部分和初始化部分分別寫在不同的語句中。如:

int m = 2;

int n = 3;

int[,] arr2 = new int[m,n];

四、陣列操作

遍歷 foreach

新增刪除

3.方法 sort reverse

排序 sort 類的靜態方法。如:array.sort(arr);

反轉 reverse 類的靜態方法,如:array.reverse(arr);

五、arraylist 集合

集合主要以線性結構儲存資料。c#提供了集中集合類,如arraylist、quene、stack等。

arraylist類位於system.collections 命名空間下,可以動態新增刪除元素。

arraylist相當於一種高階動態陣列,是array類的公升級版,但並不等同於陣列。

(1)陣列容量固定,arraylist的容量可以自動擴充。

(2)arraylist提供新增、刪除和插入某一範圍元素的方法,但array只能一次操作乙個元素

(3)arraylist提供將唯讀和固定大小包裝返回到集合的放,陣列不提供。

(4)arraylist只能是一維的,而array可以是多維的。

1.三種構造器

(1)public arraylist();

以預設 16 的大小來初始化內部的陣列。

arraylist al = new arraylist();

(2) 用icollection物件來構造,並用該集合的元素對其賦值

int arr = new int;

arraylist al = new arraylist(arr); //陣列集合

(3)用指定的大小初始化

arraylist al = new arraylist(10);

2.常用屬性

capacity: 獲取或設定arraylist可包含元素數

count:實際包含元素數

isfixedsize:是否具有固定大小

isreadonly:是否唯讀

issynchronized:是否同步對arraylist的訪問

item:獲取或指定索引處的元素

syncroot:獲取可用於同步arraylist訪問的物件。

3.常用方法

新增 add(object value)

插入 insert(int index, object value);

刪除(1)clear() 移除所有元素

(2)public virtual void remove(object obj);刪除與值匹配的元素

示例:al.remove(4);

(3)removeat(int index);刪除指定索引位置處的元素

(4)removerange(int index, int count)移除一定範圍的元素

4.遍歷 foreach

5.查詢

(1)contains ,bool型,判斷是否包含指定元素

(2)indexof 返回第一次出現指定元素的索引

(3)lastindexof 逆向搜尋

六、hashtable 雜湊表

hashtable用於表示鍵值對的集合,這些鍵值對根據鍵的雜湊**進行組織,每個元素都是乙個儲存於dictionaryentry物件中的鍵值對。鍵不能為空引用,值可以。

1.建構函式

(1)public hashtable()

使用預設的初始容量、預設載入因子、雜湊**提供程式和比較器來初始化hashtable類的新空例項。

(2)public hashtable(int capacity) 指定初始容量

2.常用屬性

count :鍵值對數目

keys :獲取包含hashtable鍵的icollection

values:獲取包含hasntable值的icollection

3.常用方法

(1)新增 add

public virtual void add(object key, object value);

(2)刪除元素

clear:清空

remove(object key):刪除指定鍵的鍵值對

(3)遍歷

foreach,注意型別用 dictionaryentry

(4)查詢

public virtual bool contains(object key);是否包含鍵,bool型別

public virtual bool containsvalues(object value); 是否包含值

C 陣列學習

陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...

C 陣列學習

陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...

C 陣列學習

在 c 中宣告乙個陣列,您可以使用下面的語法 datatype arrayname 其中,例如 double balance 宣告乙個陣列不會在記憶體中初始化陣列。當初始化陣列變數時,您可以賦值給陣列。陣列是乙個引用型別,所以您需要使用new關鍵字來建立陣列的例項。double balance ne...