一、陣列 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.二維陣列的宣...