CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 80

80
Chương 2: Thao tác dữ liệu

// Sử dụng ArrayList.ToArray để tạo một object[]

// từ nội dung của tập hợp.

object[] array2 = list.ToArray();

// Sử dụng ArrayList.ToArray để tạo một string[] kiểu mạnh

// từ nội dung của tập hợp.

string[] array3 =

(string[])list.ToArray(System.Type.GetType("System.String"));

11.

11.

T o m t t p h p ki u m nh

ạ ộ ậ ợ

ể ạ

T o m t t p h p ki u m nh

ạ ộ ậ ợ

ể ạ

Bạn cần tạo một tập hợp chỉ chứa các phần tử thuộc một kiểu nhất định.

Tạo một lớp dẫn xuất từ lớp

System.Collections.CollectionBase

hay

System.Collections.DictionaryBase

, và hiện thực các phương thức an-toàn-về-

kiểu-dữ-liệu (type-safe) để thao tác trên tập hợp.

Các lớp

CollectionBase

DictionaryBase

có thể đóng vai trò các lớp cơ sở để dẫn xuất ra

các lớp tập hợp an-toàn-kiểu mà không phải hiện thực lại các giao diện chuẩn:

IDictionary

,

IList

,

ICollection

, và

IEnumerable

.

CollectionBase

dùng cho các tập hợp dựa-trên-

Ilist

(như

ArrayList

). Thực chất,

CollectionBase

duy trì tập hợp bằng một đối tượng

ArrayList

chuẩn, có thể được truy

xuất thông qua thuộc tính bảo vệ

List

.

DictionaryBase

dùng cho các tập hợp dựa-trên-

IDictionary

(như

Hashtable

). Thực

chất,

DictionaryBase

duy trì tập hợp bằng một đối tượng

Hashtable

chuẩn, có thể được

truy xuất thông qua thuộc tính bảo vệ

Dictionary

.

Đoạn mã sau hiện thực một tập hợp tên mạnh (dựa trên lớp

CollectionBase

) để thể hiện một

danh sách các đối tượng

System.Reflection.AssemblyName

.

using System.Reflection;

using System.Collections;

public class AssemblyNameList : CollectionBase {

public int Add(AssemblyName value) {

return this.List.Add(value);

}

public void Remove(AssemblyName value) {

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.