Giáo trình hướng dẫn phân tích mảng một chiều bằng cách sử dụng danh sách các giá trị bên trong dấu ngoặc p10
Số trang: 5
Loại file: pdf
Dung lượng: 907.10 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Thuộc tính trả về một ICollection chứa những khóa trong hashtable. Thuộc tính trả về một ICollection chứa những giá trị trong hashtable. Thêm một thành phần mới với khóa và giá trị xác định. Xóa tất cả đối tượng trong hashtable. Chỉ mục cho hastable Tạo ra một bản sao Xác định xem một thành phần có trong hashtable. Xác định xem hashtable có chứa một khóa xác định Sao chép những thành phần của hashtable đến mảng một chiều đã tồn tại Trả về một enumerator cho hashtable....
Nội dung trích xuất từ tài liệu:
Giáo trình hướng dẫn phân tích mảng một chiều bằng cách sử dụng danh sách các giá trị bên trong dấu ngoặc p10 Ngôn Ngữ Lập Trình C#. Thuộc tính trả về một ICollection chứa những khóa Keys trong hashtable. Thuộc tính trả về một ICollection chứa những giá Values trị trong hashtable. Thêm một thành phần mới với khóa và giá trị xác Add() định. Xóa tất cả đối tượng trong hashtable. Clear() Chỉ mục cho hastable Item() Tạo ra một bản sao Clone() Xác định xem một thành phần có trong hashtable. Contains() Xác định xem hashtable có chứa một khóa xác ContainsKey() định Sao chép những thành phần của hashtable đến CopyTo() mảng một chiều đã tồn tại Trả về một enumerator cho hashtable. GetEnumerator() Thực thi ISerializable và trả về dữ liệu cần thiết để GetObjectData() lưu trữ. Thực thi ISerializable và phát sinh sự kiện OnDeserialization deserialization khi hoàn thành. Xóa một thành phần với khóa xác định. Remove() Bảng 9.6: Phương thức và thuộc tính của lớp Hashtable. Trong một Hashtable, mỗi giá trị được lưu trữ trong một vùng. Mỗi vùng được đánh số tương tự như là từng offset trong mảng. Do khóa có thể không phải là số nguyên, nên phải chuyển các khóa thành các khóa số để ánh xạ đến vùng giá trị được đánh số. Mỗi khóa phải cung cấp phương thức GetHashCode() để nhận giá trị mã hóa thành số của nó. Chúng ta nhớ rằng mọi thứ trong C# đều được dẫn xuất từ lớp object. Lớp object cung cấp một phương thức ảo là GetHashCode(), cho phép các lớp dẫn xuất tự do kế thừa hay viết lại. Việc thực thi thông thường của phương thức GetHashCode() đối với chuỗi thì đơn giản bằng cách cộng các giá trị Unicode của từng ký tự lại rồi sau đó sử dụng toán tử chia lấy dư để nhận lại một giá trị từ 0 đến số vùng được phân của hashtable. Ta không cần phải viết lại phương thức này với kiểu chuỗi. Khi chúng ta thêm giá trị vào Hashtable thì Hashtable sẽ gọi phương thức GetHashCode() cho mỗi giá trị mà chúng ta cung cấp. Phương thức này trả về một số nguyên, xác định vùng mà giá trị được lưu trữ trong hashtable.Dĩ nhiên là có thể nhiều giá trị nhận chung một khóa tức là cùng một vùng trong hashtable, điều này gọi là sự xung đột. Có một vài cách để giải quyết sự xung đột này. Trong đó cách chung nhất và được hỗ trợ bởi CLR là cho mỗi vùng duy trì một danh sách có thứ tự các giá trị. Khi chúng ta truy cập một giá trị trong hashtable, chúng ta cung cấp một khóa. Một lần nữa Hashtable gọi phương thức GetHashCode() trên 268. Mảng, Chỉ Mục, và Tập Hợp. Ngôn Ngữ Lập Trình C# khóa và sử dụng giá trị trả về để tìm vùng tương ứng. Nếu chỉ có một giá trị thì nó sẽ trả về, nếu có nhiều hơn hai giá trị thì việc tìm kiếm nhị phân sẽ được thực hiện trên những nội dung của vùng đó. Bởi vì có một vài giá trị nên việc tìm kiếm này thực hiện thông thường là rất nhanh. Khóa trong Hashtable có thể là kiểu dữ liệu nguyên thủy hay là các thể hiện của các kiểu dữ liệu do người dùng định nghĩa (các lớp cho người lập trình tạo ra). Những đối tượng được sử dụng làm khóa trong hashtable phải thực thi GetHashCode() và Equals(). Trong hầu hết trường hợp, chúng ta có thể sử dụng kế thừa từ Object. Giao diện IDictionary là một từ điển ví nó thực thi giao diện IDictionary. IDictionary cung cấp một thuộc Hashtable tính public là Item. Thuộc tính Item truy cập một giá trị thông qua một khóa xác định. Trong ngôn ngữ C# thuộc tính Item được khai báo như sau: object this[object key] { get; set;} Thuộc tính Item được thực thi trong ngôn ngữ C# với toán tử chỉ mục ([]). Do vậy chúng ta có thể truy cập những item trong bất cứ đối tượng từ điển bằng cú pháp giống như truy cập mảng. Ví dụ 9.17 minh họa việc thêm một item vào trong bảng Hashtable và sau đó truy cập ...
Nội dung trích xuất từ tài liệu:
Giáo trình hướng dẫn phân tích mảng một chiều bằng cách sử dụng danh sách các giá trị bên trong dấu ngoặc p10 Ngôn Ngữ Lập Trình C#. Thuộc tính trả về một ICollection chứa những khóa Keys trong hashtable. Thuộc tính trả về một ICollection chứa những giá Values trị trong hashtable. Thêm một thành phần mới với khóa và giá trị xác Add() định. Xóa tất cả đối tượng trong hashtable. Clear() Chỉ mục cho hastable Item() Tạo ra một bản sao Clone() Xác định xem một thành phần có trong hashtable. Contains() Xác định xem hashtable có chứa một khóa xác ContainsKey() định Sao chép những thành phần của hashtable đến CopyTo() mảng một chiều đã tồn tại Trả về một enumerator cho hashtable. GetEnumerator() Thực thi ISerializable và trả về dữ liệu cần thiết để GetObjectData() lưu trữ. Thực thi ISerializable và phát sinh sự kiện OnDeserialization deserialization khi hoàn thành. Xóa một thành phần với khóa xác định. Remove() Bảng 9.6: Phương thức và thuộc tính của lớp Hashtable. Trong một Hashtable, mỗi giá trị được lưu trữ trong một vùng. Mỗi vùng được đánh số tương tự như là từng offset trong mảng. Do khóa có thể không phải là số nguyên, nên phải chuyển các khóa thành các khóa số để ánh xạ đến vùng giá trị được đánh số. Mỗi khóa phải cung cấp phương thức GetHashCode() để nhận giá trị mã hóa thành số của nó. Chúng ta nhớ rằng mọi thứ trong C# đều được dẫn xuất từ lớp object. Lớp object cung cấp một phương thức ảo là GetHashCode(), cho phép các lớp dẫn xuất tự do kế thừa hay viết lại. Việc thực thi thông thường của phương thức GetHashCode() đối với chuỗi thì đơn giản bằng cách cộng các giá trị Unicode của từng ký tự lại rồi sau đó sử dụng toán tử chia lấy dư để nhận lại một giá trị từ 0 đến số vùng được phân của hashtable. Ta không cần phải viết lại phương thức này với kiểu chuỗi. Khi chúng ta thêm giá trị vào Hashtable thì Hashtable sẽ gọi phương thức GetHashCode() cho mỗi giá trị mà chúng ta cung cấp. Phương thức này trả về một số nguyên, xác định vùng mà giá trị được lưu trữ trong hashtable.Dĩ nhiên là có thể nhiều giá trị nhận chung một khóa tức là cùng một vùng trong hashtable, điều này gọi là sự xung đột. Có một vài cách để giải quyết sự xung đột này. Trong đó cách chung nhất và được hỗ trợ bởi CLR là cho mỗi vùng duy trì một danh sách có thứ tự các giá trị. Khi chúng ta truy cập một giá trị trong hashtable, chúng ta cung cấp một khóa. Một lần nữa Hashtable gọi phương thức GetHashCode() trên 268. Mảng, Chỉ Mục, và Tập Hợp. Ngôn Ngữ Lập Trình C# khóa và sử dụng giá trị trả về để tìm vùng tương ứng. Nếu chỉ có một giá trị thì nó sẽ trả về, nếu có nhiều hơn hai giá trị thì việc tìm kiếm nhị phân sẽ được thực hiện trên những nội dung của vùng đó. Bởi vì có một vài giá trị nên việc tìm kiếm này thực hiện thông thường là rất nhanh. Khóa trong Hashtable có thể là kiểu dữ liệu nguyên thủy hay là các thể hiện của các kiểu dữ liệu do người dùng định nghĩa (các lớp cho người lập trình tạo ra). Những đối tượng được sử dụng làm khóa trong hashtable phải thực thi GetHashCode() và Equals(). Trong hầu hết trường hợp, chúng ta có thể sử dụng kế thừa từ Object. Giao diện IDictionary là một từ điển ví nó thực thi giao diện IDictionary. IDictionary cung cấp một thuộc Hashtable tính public là Item. Thuộc tính Item truy cập một giá trị thông qua một khóa xác định. Trong ngôn ngữ C# thuộc tính Item được khai báo như sau: object this[object key] { get; set;} Thuộc tính Item được thực thi trong ngôn ngữ C# với toán tử chỉ mục ([]). Do vậy chúng ta có thể truy cập những item trong bất cứ đối tượng từ điển bằng cú pháp giống như truy cập mảng. Ví dụ 9.17 minh họa việc thêm một item vào trong bảng Hashtable và sau đó truy cập ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại học tài liệu mạng giáo trình cơ điện giáo trình thiết kế tài liệu kế toánTài liệu liên quan:
-
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 474 0 0 -
MARKETING VÀ QUÁ TRÌNH KIỂM TRA THỰC HIỆN MARKETING
6 trang 302 0 0 -
122 trang 217 0 0
-
QUY CHẾ THU THẬP, CẬP NHẬT SỬ DỤNG CƠ SỞ DỮ LIỆU DANH MỤC HÀNG HÓA BIỂU THUẾ
15 trang 212 1 0 -
BÀI GIẢNG KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - TS. NGUYỄN VĂN LỊCH - 5
23 trang 210 0 0 -
Giáo trình chứng khoán cổ phiếu và thị trường (Hà Hưng Quốc Ph. D.) - 4
41 trang 200 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 200 0 0 -
BÀI GIẢNG LÝ THUYẾT MẠCH THS. NGUYỄN QUỐC DINH - 1
30 trang 176 0 0 -
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - NGÂN HÀNG ĐỀ THI HẾT HỌC PHẦN HỌC PHẦN: TOÁN KINH TẾ
9 trang 175 0 0 -
Giáo trình phân tích giai đoạn tăng lãi suất và giá trị của tiền tệ theo thời gian tích lũy p10
5 trang 170 0 0