在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...