10 thg 1, 2010

Generics trong C#

Generics là 1 đặc tính mới có trong .NetFw 2.0, khái niệm Generics có ý nghĩa tương tự như Template trong C++ , nhằm hỗ trợ tạo ra các lớp không phụ thuộc vào kiểu dữ liệu của 1 số biến trong lớp đó. Ví dụ khi ta cần tạo ra 1 danh sách liên kết (List) cho các kiểu dữ liệu Int, String, Float,… nếu không sử dụng Template hay Generics thì bao nhiêu kiểu dữ liệu ta phải tạo ra bấy nhiêu class chỉ khác kiểu dữ liệu các phần tử con (ListInt, ListString, ListFloat,…). Với Generics và Template ta chỉ việc tạo ra 1 class với kiểu dữ liệu các phần tử con được xem như 1 tham số được truyền vào khi tạo instance của class đó (List, List, List,…).

Ví dụ : List, Stack, Queue,… với T là kiểu dữ liệu các phần tử con trong danh sách liên kết.

List lstint = new List();

// Declare the generic class

public class GenericList

{

void Add(T input) { }

}

class TestGenericList

{

private class ExampleClass { }

static void Main()

{

// Declare a list of type int

GenericList<int> list1 = new GenericList<int>();

// Declare a list of type string

GenericList<string> list2 = new GenericList<string>();

// Declare a list of type ExampleClass

GenericList list3 = new GenericList();

}

}

0 nhận xét:

Đăng nhận xét