體驗7 用List代替ArrayList

2021-04-01 20:57:24 字數 1175 閱讀 3300

在c#2.0 中,list<>是arraylist的泛型版本。當需要向列表新增同乙個類的例項時,用list<>代替arraylist是最好的選擇,**清晰了,同時也避免了裝箱撤箱,**執行效率也提高了。

類arraylist在命名空間system.collections中,而list<>在命名空間system.collections.generic中,所以使用list<>時不要忘了新增using system.collections.generic。

下面的例子具體說明如何用list<> 代替 arraylist:

先宣告你要新增到list<>或arraylist的類onemember

public class onemember

public int code

}public string value}}

以下演示向arraylist新增onemember:

arraylist a = new arraylist();

a.add(new onemember("0001",111));

...當從a中讀取物件時類似的**如下:

foreach(object obj in a)

現在就用list<>替換arraylist。首先把arraylist a = new arraylist(); 改為

lista = new list();

從a中讀取物件時類似的**如下:

foreach(onemember obj in a)

如果需要在list<>下使用索引,同樣需要構造乙個索引器,不過list<>下使用索引器與arraylist的索引器不太一樣,接上面**舉例如下:

private class _icomparer : icomparer

bool icomparer.equals(onemember x, onemember y)

int icomparer.gethashcode(onemember x)

}對a 進行索引並用binarysearch檢索與arraylist一樣,在此就不囉嗦了。

如果你用的是c#2.0還猶豫什麼,現在就用list<>代替 arraylist吧。

注:microsoft visual studio 2005 beta1 version 8.0.40607.16

microsoft .net framework version 2.0.40607

用迴圈代替游標

在sql的sp開發中,游標有不可或缺的作用。但是,一些不當的使用游標,會造成嚴重系統效能的下降,所有呢,很多的人就想找乙個方法,即能達到游標的功能,又對效能影響小一些。這就是本文要講的用迴圈代替游標。一般情況下,用光標的目的就是要達到乙個迴圈,可是我們要是以迴圈來作呢,如何來控制當前的變數值就是關鍵...

文字超出用 代替

文字超出用 代替分兩種情況,一種是文字不換行,只在一行顯示,另一種是文字可以換行,但是最多顯示2行或3行 white spcae nowrap 強制讓文字不能換行 overflow hidden text overflow ellipsis overflow hidden text overflow...

用表驅動代替switch case

不知道從什麼時候開始,switch case語句成了 壞味道的代名詞,寫 的時候小心翼翼地避開它,看到別人 中的switch case就皺眉頭,想想其實大可不必這樣,switch case語句並不是 壞味道的根源,壞味道來自糟糕的 結構 設計,比如過多的switch case分支,或者多重switc...