C# list集合 重复元素 索引_C#学习笔记12--集合/索引器/扩展
在游戲開發(fā)的時候, 經(jīng)常需要創(chuàng)建和管理相關(guān)對象組, 比如服務(wù)器列表, 商城物品列表等等. 在從服務(wù)器拿到這些數(shù)據(jù)的時候, 首先需要將他們存放到一個數(shù)據(jù)集合里面, 然后對集合中的數(shù)據(jù)循環(huán)遍歷進(jìn)行處理.
之前學(xué)過的數(shù)據(jù)集合有數(shù)組, 可以用數(shù)組來存儲這些數(shù)據(jù). 但是采用數(shù)組作為數(shù)據(jù)集合是由弊端的, 比如數(shù)組初始化的時要指定長度, 長度是固定的, 不利于數(shù)據(jù)的動態(tài)擴(kuò)展和刪除. 今天學(xué)習(xí)一種專門用來數(shù)據(jù)存儲和檢索的類 -- 集合.
一.集合
在C#中, 集合是專門用于數(shù)據(jù)存儲和檢索的類. 與數(shù)組不同, 集合提供了一種靈活的數(shù)據(jù)處理方法, 處理的對象組可根據(jù)程序更改的需要動態(tài)的增長和收縮. 對于數(shù)據(jù)快速檢索, 集合還可以為對象分配一個唯一的" 鍵", 通過此 "鍵" 可以直接將數(shù)據(jù)從集合中取出來.
集合是類, 因此必須聲明新集合后, 才能往里面進(jìn)行數(shù)據(jù)存儲.
1.1 集合類型
集合分為兩種類型: 非泛型集合與泛型集合.
使用非泛型集合需引入:System.Collections 命名空間。使用泛型集合需引入:System.Collections.Generic 命名空間。
非泛型集合
泛型集合
1.2 動態(tài)數(shù)組 -- ArrayList
ArrayList 是一個特殊的數(shù)組, 可以通過添加和刪除元素動態(tài)改變數(shù)組長度。它是一個類, 所以需要先創(chuàng)建對象, 通過對象來訪問成員;
ArrayList方法:
ArrayList 的方法有很多,有些方法還有多個重載。 不僅是它,其他的集合類如 Stack, Queue, List等等也是如此, 所以最好是記住一些平時常用的,其他的方法都可以現(xiàn)查現(xiàn)用。
在 Vs 中將光標(biāo)放在你想要查找的類上, 按 F12 就會跳轉(zhuǎn)到該類的使用文檔, 里面對該類的所有方法都有非常詳細(xì)的描述。掌握這個技巧就可以哪里不會點哪里了;例如 ArrayList
對集合的操作重點就是會調(diào)用各種方法, 所以今天的筆記就是整理一下這些集合類的常用方法, 掌握的話還是得多多動手敲代碼。
鏈表
棧(先進(jìn)后出)
隊列 (先進(jìn)先出)
字典 (鍵值對)
二.索引器
索引器允許類或結(jié)構(gòu)的實例就像數(shù)組一樣可以通過下標(biāo)索引。 它類似于屬性,不同之處在于它們的取值函數(shù)采用參數(shù)。 C#中的類成員可以是任意類型,包括數(shù)組和集合。當(dāng)一個類包含了數(shù)組和集合成員時,索引器將大大簡化對數(shù)組或集合成員的存取操作。
語法
[訪問修飾符]練習(xí): 定義一個Person類, 實現(xiàn)索引
// 定義一個Person 類三.擴(kuò)展
擴(kuò)展, 顧名思義是給已經(jīng)存在的規(guī)則再添加上你想要加的規(guī)則, 例如 :對一個 int類型的數(shù)組, 你想要讓它自己實現(xiàn)排序的方法, 就可以給它加個擴(kuò)展.
// 隨便定義一個靜態(tài)類, 在這個類里面定義擴(kuò)展=======================================================
思維導(dǎo)圖
總結(jié)
以上是生活随笔為你收集整理的C# list集合 重复元素 索引_C#学习笔记12--集合/索引器/扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cc压力测试_斯坦福大学鲍哲南院士AFM
- 下一篇: adsl服务器客户端配置cisco_wi