技術之外的話
蘇轼《後赤壁賦》:有客無酒,有酒無肴;月白風清,如此良夜何?技術員在做技術之余,欣賞一下古詩詞也是很好的。呵呵,這是一些閒話。
前言
在C中要保存一組數據,通常要做一個數組或鏈表來存放。在C#中,我們不用這麼麻煩了,因為C#中提供了一些實用的集合類,通過這些集合類,可以方便的管理一組或多組內存對象。這些集合包括ArrayList、HashTable、List<T>等。
ArrayList類
MSDN中對ArrayList的介紹只有一句話:使用大小可按需動態增加的數組實現 IList 接口。這裡推薦ArrayList的原因是在C#中不支持動態數組,可以通過實用ArrayList實現動態數組的功能。
對ArrayList的操作有常用的Add、Insert、Remove、IndexOf。通過這些方法可以實現器大部分操作。對於這些操作可以參考,或請參見MSDN中的說明。
Hashtable類
MSDN中的描述:表示鍵/值對的集合,這些鍵/值對根據鍵的哈希代碼進行組織。
有些朋友可能手工的實現過Hashtable的功能。在C語言中散列算法是很重要的,遺憾的是筆者沒有學好,所學的知識只能夠草草應付老師作業了事。好在C#中提供了Hashtable類來實現鍵/值對的操作功能。
Hashtable的操作更為簡單,Add方法用來添加一個鍵/值對,通過鍵可以直接訪問到值,也就是說,如果定義了一個dt的Hashtable對象,則可以通過dt[key],得到一個Object對象的Value,如果這個key值不存在,則會返回一個null。
這些操作都是很方便和使用的,不需要多說。希望了解的朋友可以參考MSDN中的和。
List<T>類
MSDN中的描述:表示可通過索引訪問的對象的強類型列表。提供用於對列表進行搜索、排序和操作的方法。
這裡的強類型類表即所謂的泛型。什麼是泛型呢?單單這一個問題就夠討論上幾頁了,我只簡單的說明:所謂泛型,指的是T可以是任何其它類型,但必須是一個固定的類型。當這個類型確定後,List<T>對象只能是T類的實例,這是我對泛型用法上的認識,希望了解正解的朋友可以參考。
List<T>在用法上並沒有什麼特別,C#為它提供了豐富的操作,可以參照MSDN中的和對其進行了解。