今晚終於靜下心來下寫自己的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...