關於c 泛型List集合物件的用法及相關操作

2021-09-08 23:29:29 字數 1241 閱讀 7879

今晚終於靜下心來下寫自己的blog

關於.net framework 2.0推出「泛型」,學習體會了下當中list基本的用法及原理

由於之前的版本中,集合

class a,class b

//例項化a,b類物件

arraylist  list=new arraylist();

//此引數為object value

//編譯器些時,並不為檢查object型別

list.add(a);list.add(b);

//當去遍歷list集合物件時

foreach(a a in list)

執行時,程式報錯,原因在於遍歷list集合時轉型中,有不是a物件的例項型別b

在2.0中已經解決些問題,就是「泛型」用法

class a,class b

//例項化a,b類物件

listmylist=new list();

mylist.add(a);mylist.add(b);

//此時統譯時會報錯,因為在聲名時list已經約束其集合的型別,也就是引數class a的例項

//下面我們來進行集的幾中基本操作

//comparable 集合中物件的比較排序

//如果學習之前學過c++的操作符賦過載,理解這個知識點並不難

//集合中物件比較本質是比較物件中成員屬性變數的值

//編譯器本身是不知道怎麼樣去比較的,而是需要我們自己編寫**來告訴編譯器比較的規則

//在c# 中為乙個類定義這樣的比較規則,必須繼承乙個icomparable(比較)的介面,來實現些功能

//因為在此icomparable介面中

public inte***ce icomparable

例如:

class a:icomparable

//將引數轉換為class a物件

a a=obj as a;

return this._name.compareto(a._name); }

}//當乙個類實現上面**功能時

class a a1,class a a2;

listmylist=new list();

mylist.add(a1);mylist.add(a2);

//進行集合排序時

mylist.sort()

foreach(a a in mylist)

如果類中,其它屬性需要比較排序,既然如此泡製既可.

2008/5/18晚

List泛型集合物件排序

本文的重點主要是解決 list物件集合的排序功能。一 list.sort 方法 msdn對這個無參sort 方法的介紹 使用預設比較器對整個list中的元素進行排序。1.1.對於數字型別的呼叫 呼叫結果 為公升序,無法滿足降序。示例 1.2.對於字串型別的呼叫 呼叫結果 把值解析成拼音字母,按照首個...

泛型集合List

泛型集合list泛型最重要的應用就是集合操作,使用泛型集合可以提高 重用性,型別安全和更佳的效能。list的用法和arraylist相似,list有更好的型別安全性,無須拆,裝箱。定義乙個list泛型集合的語法如下 list集合名 new list 在泛型定義中,泛型型別引數 是必須指定的,其中t是...

List泛型集合

陣列 定義後長度固定的。泛型集合可以改變。list字串集合,集合中多個字串。與陣列一樣,索引從0開始,對應每乙個字串。方法有。list.add 增加,list.removeat 根據索引刪除。list.insert 0,插入。list.addrange 陣列 list.sort 公升序,list.r...