C List泛型集合

2021-09-10 09:52:18 字數 1856 閱讀 4467

陣列的不足

我們在使用陣列管理資料的時候,是需要預先知道陣列的長度的。但是在我們實際的開發過程中,很多資料往往無法事先知道一共有多少,在面對這些資料的時候,就無法使用陣列來進行管理了。

一、集合結構

c#中提供了一系列特殊功能的類,這些類可以儲存任意型別的物件,並且長度是可變的,他們統稱為集合。

在 c#程式語言中,集合結構有兩種:泛型集合,非泛型集合。

泛型集合:只能儲存固定型別的物件的一種集合。

要使用泛型集合,我們必須引入對應的命名空間:

system.collections.generic
二、list介紹

list是乙個 c#內建的乙個類,是類我們就可以例項化出物件,本質和陣列一樣,因為 list這個類的內部其實是維護了乙個陣列。

但是 list比陣列靈活,這個類封裝了很多方便我們操作這個內部陣列的各種方法,我們可以方便的對資料進行增加,刪除,修改等操作,且 list的長度是可以動態改變的,在例項化 list型別物件時,不需要指定長度。

三、list基本使用

1.建立泛型集合

①首先引入命名空間:using system.collections.generic;

②list《型別》 集合名 = new list《型別》();

2.集合資料操作

①增加資料

集合名.add(value) //往集合中新增資料;

往集合中新增,資料會不斷的新增到集合中,形成一種類似於排隊的效果。

②查詢資料

集合名[索引] //取出指定索引位置的資料;

list的索引和陣列一樣,也是從 0 開始;

集合的長度可以通過「集合名.count」這個屬性來取得;

③刪除資料

集合名.removeat(索引) //刪除指定索引位置的資料;

該索引位置的資料被刪除後,該索引後面的資料的索引會自動被調整;

④修改資料

集合名[索引] = 新值; //給指定索引的的資料重新賦值;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.diagnostics;

namespace one

num.remove(2);//刪除索引為2的值

num[1] = 100;//修改資料}}

}

四、list管理物件

直接上**了。。。

主程式:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.diagnostics;

namespace one

set

}public string name

set

}public int attack

set

}public weapon(int id,string name,int attack)

public override string tostring()

-name:-attack:", id, name, attack);}}

}

C List泛型集合

集合是oop中的乙個重要概念,c 中對集合的全面支援更是該語言的精華之一。為什麼要用泛型集合?在c 2.0之前,主要可以通過兩種方式實現集合 a.使用arraylist 直接將物件放入arraylist,操作直觀,但由於集合中的項是object型別,因此每次使用都必須進行繁瑣的型別轉換。b.使用自定...

C List 泛型列表

list在c 應用程式中是一種快捷 易於使用的泛型集合型別,使用泛型程式設計為編寫物件導向程式增加了極大的效率和靈活性。在決定使用ilist 還是使用arraylist類 兩者具有類似的功能 時,記住ilist 類在大多數情況下執行得更好並且是型別安全的。1 新增 向list中依次新增元素 以str...

C List泛型用法

所屬命名空間 using system.collections.generic 泛型的好處 它為使用 c 語言編寫物件導向程式增加了極大的效力和靈活性。不會強行對值型別進行裝箱和拆箱,或對引用型別進行向下強制型別轉換,所以效能得到提高。3 list與陣列的相互轉換 1.從string轉list 例如...