這兩天上課正好學泛型和arraylist之間的區別,在家看了看深入理解和李志的學習筆記,感覺泛型內容很多,在深入理解中就佔了三四十頁,目前小懂的一些方法與大家分享~後續學習深入我還會補充
首先介紹乙個list的方法 asreadonly() 此方法返回的是乙個唯讀介面,例項:
listnum = new list();//首先建立乙個泛型集合
num.add(1);//給集合中屬性賦值
...省略
ilistbb = num.asreadonly();//這個方法代表返回乙個ilist唯讀介面
// bb.add(10); 顧名思義唯讀資料就是只能讀,不能寫。所以這行**是錯誤的
for (int x = 0; x < num.count; x++)
/*輸出
*1*2
*3*4
*5*/
其中的乙個方法 count返回的是int型別的資料,該方法給出集合中項的個數,例項:
listnum = new list();//首先建立乙個泛型集合
num.add(1);//給集合中屬性賦值
num.add(2);
num.add(3);
num.add(4);
num.add(5);
console.writeline(num.count); //返回的是int型別的引數,該屬性給出集合中項的個數
//列印結果 5
其中的乙個方法removeat返回的是void型別的資料,該方法從結合中刪除索引index處的項(自定義角標)
listnum = new list();//首先建立乙個泛型集合
num.add(1);//給集合中屬性賦值
num.add(2);
num.add(3);
num.add(4);
num.add(5);
num.removeat(0);//返回值void 會從集合中刪除編號(角標)為0的項
for (int x = 0; x < num.count; x++)
其中的乙個方法insert返回的是void型別的資料,該方法把值插入到集合指定的索引位置上
listnum = new list();//首先建立乙個泛型集合
num.add(1);//給集合中屬性賦值
num.add(2);
num.add(3);
num.add(4);
num.add(5);
num.insert(3,666);//返回的是void型別,這句**意思就是把666插入角標為3的位置,其他元素依次自動重新排序順移
//結果 1 2 3 666 4 5
for (int x = 0; x < num.count; x++)
其中的乙個方法copyto返回的是void型別的資料,該方法把集合中的項複製到陣列nums中,從陣列的0角標開始複製
int nums = new int[5];//建立陣列
listnum = new list();//首先建立乙個泛型集合
num.add(1);//給集合中屬性賦值
num.add(2);
num.add(3);
num.add(4);
num.add(5);
num.copyto(nums, 0);//該方法返回值型別為void,把集合中的項複製到陣列nums中,從陣列的0角標開始複製
for (int x = 0; x < nums.length; x++)
for (int x = 0; x < num.count; x++)
...未完待續
list泛型排序的方法
如果這樣定義 listlist newlist 那麼只需要用list.sort 即可。就會按照英文單詞進行排序。但是如果這個string是如下類呢?public class dto public int id public string name 這樣定義 listlist newlist 想按照n...
C 泛型 使用泛型List
一 泛型的優點 效能高。從前面的例子可以看出使用不需進行型別轉換,可以避免裝箱和拆箱操作,提高效能。型別安全。泛型集合對其儲存物件進行了型別約束,不是定義時宣告的型別,是無法儲存到泛型集合中的,保證了資料型別的安全。重用。使用泛型型別可以最大限度地重用 保護型別的安全以及提高效能。使用泛型 使用泛型...
C 泛型 使用泛型List
一 泛型的優點 效能高。從前面的例子可以看出使用不需進行型別轉換,可以避免裝箱和拆箱操作,提高效能。型別安全。泛型集合對其儲存物件進行了型別約束,不是定義時宣告的型別,是無法儲存到泛型集合中的,保證了資料型別的安全。重用。使用泛型型別可以最大限度地重用 保護型別的安全以及提高效能。使用泛型 使用泛型...