九 陣列和集合(1)

2021-04-30 22:01:41 字數 2220 閱讀 6931

一、陣列  system.array

c#中的陣列比c++

的表現更好。陣列被分配在堆中,因此是引用型別。你不可能訪問超出乙個陣列邊界的元素。因此,c#會防止這樣型別的bug。一些輔助方式可以迴圈依次訪問陣列元素的功能也被提供了,foreach就是這樣的乙個語句。與c

++相比,c#在陣列語法上的特點如下:

1、方括號被置於資料型別之後而不是在變數名之後。

2、建立陣列元素要使用new操作符。

3、c#支援一維、多維以及交錯陣列(陣列中的陣列)。

示例: 

int array 

=new

int[

10];              

//整型一維陣列

for(

inti =0

; i 

<

array.length; i

++)

array[i] 

=i; 

int[,] array2 

=new

int[5,

10];          

//整型二維陣列

array2[1,

2] =5

; int

[,,] array3 

=new

int[5,

10,5];       

//整型的三維陣列

array3[0,

2,4] 

=9; int

arrayofarray ==

newint[2

];    

//整型交錯陣列(陣列中的陣列)

arrayofarray[0] 

=new

int[

4]; 

arrayofarray[0] 

=new

int ;

二、集合 system.collections

1、arraylist  陣列列表

arraylist  arraylist =new

arraylist ();//例項化乙個陣列

arraylist.add("hello");//新增元素

arraylist.insert(5," world");// 插入元素

arraylist.remove(2);//從當前陣列刪除

arraylist.removeat(2);//刪除第二個字元

2、stack 棧類: 先進後出

stack stack =new

stack();

stack.push("hello");//進棧

stack.push("word");//進棧

stack.pop();//出棧

stack.peek();//返回棧頂

3、queue 佇列 先進先出

queue queue =new

queue();

queue.enqueue("hello");//入列

queue.dequeue();//出列

queue.peek();//返回

4、hashtable 字典和雜湊表

hashtable  hashtable = new

hashtable();

hashtable.add(1,"hello");//新增資料

hashtable.remove(1);//輸出1(key)這個資料

三、陣列和集合比較

陣列和list各有偏重,怎麼可以厚此而薄彼。

陣列是集合的一種。官方的說法是:

1.集合類定義為 system.collections 或 system.collections.generic 命名空間的一部分。

2.大多數集合類都派生自 icollection、icomparer、ienumerable、ilist、idictionary 和 idictionaryenumerator 介面以及它們的等效泛型介面。

更一般的說法是:

「在 c# 中,集合類並非必須嚴格從 ienumerable 和 ienumerator 繼承才能與 foreach 相容;只要類有所需的 getenumerator、movenext、reset 和 current 成員,便可以與 foreach 一起使用。省略介面的好處為,使您可以將 current 的返回型別定義得比 object 更明確,從而提供了型別安全。」

陣列和集合

陣列是乙個儲存相同型別的固定大小的有序集合,若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。初始化陣列 陣列時引用型別,必須使用new關鍵字建立陣列的例項 陣列的宣告方式有四種 int nums1 newint 3 1...

陣列和集合

一維陣列 1.陣列定義 int arr 或是 int arr2 2.靜態初始化 type arrayname new type 例子 int arr new int 普通的陣列遍歷方式 for int i 0 i system.out.println arr i foreach方式 for int ...

陣列和集合

陣列 1.一維陣列 1 宣告 type arrayname 2 初始化 int arr new int 5 arr陣列中的每個元素都是初始化為0 int arr new int 5 3 一維陣列的使用 foreach int n in arr console.writeline n 2.二維陣列的宣...