日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#--数组和集合

發布時間:2025/3/21 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#--数组和集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#在存儲數據的時候,是需要先聲明一個數組的,當然還可以使用集合。那么數組與集合有什么區別,為什么有了數組還需要集合呢?

一、數組:

定義:數組是相同數據類型的元素按一定順序排列的集合。

優點:數組在存儲數據的時候是連續存儲的,因此可以快速而容易地從頭到尾遍歷元素,可以快速的修改元素等等。

缺點:在聲明數組的時候必須先聲明指定的長度。如果事先不知道存儲的大小,很容易會造成聲明的長度過長導致內存空間浪費,過短則造成數據的溢出。而且在兩個數據中間插入數據也是非常麻煩的,需要將插入位置后面的數組全部移動位置。

二、集合:

定義:ArrayList是命名空間System.Collections下的一部分,它是使用大小可按需動態增加的數組實現IList接口。ArrayList的默認初始容量為0,隨著元素添加到ArrayList中,容量會根據需要通過重新分配自動增加。

優點:ArrayList 可以根據使用大小按需動態增加,不用事先設置大小,可以隨意的添加數據,插入或移除某一范圍元素也比較方便。

缺點:因為ArrayList 插入值的類型都是當做Object 類型插入的,所以當調用數據的時候可能會出現類型不匹配的錯誤。

三、總結:

(1)數組是一種非常有用的數據結構,但是數組也具有很多的局限性:首先,數組元素的數據類型必須是相同的,其次,在創建數組時必須確定元素個數數組一旦創建,其大小就是固定的。想調整其大小或者增加新的元素都是比較困難的。特別是,當對象的個數未知,并且隨時可能要循環、添加和移除時,數組會很不方便。

(2)集合是通過高度結構化的方式存儲任意對象的類,它可以把一組類似的對象組合在一起。與無法動態調整大小的數組相比,集合不僅能隨意調整大小,而且為存儲或檢索某個對象提供了更多的方法。例如,由于Object是所有數據類型的基類,因此任何類型的對象(包括任何值類型或引用類型數據)都可被組合到一個Object類型的集合中,并通過C#的foreach語句來訪問來訪問其中的每一個對象。當然,對于一個Object類型的集合來說,可能需要單獨對個元素執行附加的處理,例如,裝箱、拆箱或轉換等。

另外:

1、數組:同一類型,固定長度;集合:不同類型,不固定長度。

2、要使用集合,必須先引用命名空間:using System.Collections;

3、集合的一些方法:

Add()向集合中添加一個元素;

Remove()刪除集合中的一個元素 ;

RemoveAt(int i)刪除集合中索引值為i的元素 ;

Reverse()反轉集合的元素 ;

Sort()以從小到大的順序排列集合的元素 ;

Clone()復制一個集合。

4、Hashtable:哈希表,碼-值對(key-value),類似于字典(比數組更強大)。哈希表是經過優化的,訪問下標的對象先散列過。如果以任意類型鍵值訪問其中元素會快于其他集合。GetHashCode()方法返回一個int型數據,使用這個鍵的值生成該int型數據。哈希表獲取這個值最后返回一個索引,表示帶有給定散列的數據項在字典中存儲的位置。

5、單線程程序中推薦使用?Dictionary,?有泛型優勢,?且讀取速度較快,?容量利用更充分。多線程程序中推薦使用?Hashtable,默認的Hashtable允許單線程寫入,多線程讀取,對?Hashtable?進一步調用?Synchronized()?方法可以獲得完全線程安全的類型。而?Dictionary?非線程安全,必須人為使用?lock?語句進行保護,效率大減。

總結

以上是生活随笔為你收集整理的C#--数组和集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。