Danh mục

Mảng, Chỉ Mục, Tập Hợp phần cuối

Số trang: 9      Loại file: pdf      Dung lượng: 195.44 KB      Lượt xem: 10      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Ví dụ 9.17 bắt đầu bằng việc tạo một bảng Hashtable mới, sử dụng các giá trị mặc định của dung lượng, phương thức tạo mã băm và phương tức so sánh. Tiếp sau là việc thêm 3 bộ giá trị vào theo thứ tự khóa/giá trị.
Nội dung trích xuất từ tài liệu:
Mảng, Chỉ Mục, Tập Hợp phần cuốiVí dụ 9.17 bắt đầu bằng việc tạo một bảng Hashtable mới, sử dụng các giá trị mặc địnhcủa dung lượng, phương thức tạo mã băm và phương tức so sánh. Tiếp sau là việc thêm3 bộ giá trị vào theo thứ tự khóa/giá trị. Sau khi các item đã được thêm vào chúng ta cóthể lấy giá trị thông qua khóa với cách thức dùng toán tử offset.Tập khóa và tập giá trị Các kiểu từ cung cấp thêm hai thuộc tính là thuộc tính Keys, và thuộc tính Values. Trong đó Keys truy cập đối tượng ICollection với tất cả những khóa trong Hashtable, và Values truy cập đối tượng ICollection với tất cả giá trị. Ví dụ 9.18 minh họa như sau. Ví dụ 9.18 Tập khóa và tập giá trị.-----------------------------------------------------------------------------namespace Progrmming_CSharp{ using System; using System.Collections; public class Tester { static void Main() { // tạo và khởi tạo hashtable Hashtable hashTable = new Hashtable(); hashTable.Add(“00440123”,”Ngoc Thao”); hashTable.Add(“00123001”,”My Tien”); hashTable.Add(“00330124”,”Thanh Tung”); // nhận tập khóa ICollection keys = hashTable.Keys; // nhập tập giá trị ICollection values = hashTable.Values; // xuất tập khóa foreach( string s in keys) { Console.WriteLine(“{0}”, s); } // xuất tập giá trị foreach( string s in values) { Console.WriteLine(“{0}”, s); } } }}----------------------------------------------------------------------------- Kết quả:001230010044012300330124My TienNgoc ThaoThanhTung-----------------------------------------------------------------------------Mặc dù thứ tự của keys không được đảm bảo theo thứ tự nhưng chúng đảm bảo rằng cùngvới thứ tự đưa ra của giá trị. Như chúng ta thấy trên khóa 00123001 tương ứng với MyTien,...Giao diện IDictionaryEnumerator Những đối tượng IDictionary cũng hỗ trợ vòng lặp foreach bằng việc thực thiphương thức GetEnumerator(), phương thức này trả về một IDictionaryEnumerator.IDictionaryEnumerator được sử dụng để liệt kê bất cứ đối tượng IDictionary nào. Nócung cấp thuộc tính để truy cập cả khóa và giá trị cho mỗi thành phần trong từ điển. Tacó ví dụ 9.19 minh họa như sau: Ví dụ 9.16: sử dụng giao diện IDictionaryEnumerator.-----------------------------------------------------------------------------namespace Progrmming_CSharp{ using System; using System.Collections;public class Tester{ static void Main() { // tạo và khởi tạo hashtable Hashtable hashTable = new Hashtable(); hashTable.Add(“00440123”,”Ngoc Thao”); hashTable.Add(“00123001”,”My Tien”); hashTable.Add(“00330124”,”Thanh Tung”); Console.WriteLine(“hashTable”); Console.WriteLine(“Count: {0}”,hashTable.Count); Console.WriteLine(“Keys and Values:”); Print( hashTable ); } public static void Print(Hashtable table) { IDictionaryEnumerator enumerator = table.GetEnumerator(); while ( enumerator.MoveNext() ) { Console.WriteLine(“ {0}: {1}”, enumerator.Key, enumerator.Value); } Console.WriteLine(); } }}----------------------------------------------------------------------------- Kết quả:hashTablegCount: 3Keys and Values: 00123001: My Tien 00440123: Ngoc Thao 00330124: Thanh Tung-----------------------------------------------------------------------------Câu hỏi và trả lờiCâuhỏi 1: Điều phân biệt giữa mảng và các thành phần bên trong một mảng?Trả lời 1: Mảng là kiểu dữ liệu tham chiếu, còn các thành phần bên trong mảngđược cấp phát dựa theo kiểu dữ liệu của chúng. Do vậy một mảng của kiểu dữliệu tham chiếu sẽ không chứa giá trị gì cả mà chỉ tham chiếu đến những thành phầnđược tạo ra trên heap.Câuhỏi 2: Một lớp có bộ chỉ mục khác một mảng như thế nào?Trả lời 2: Hoàn toàn khác nhau, một mảng chỉ đơn thuần là một đối tượng thamchiếu đến những đối tượng khác cùng kiểu dữ liệu. Trong khi một lớp có bộ chỉ mụcthì nó chứa một mảng các giá trị nào đó, và cho phép bên ngoài truy cập mảng nàythông qua bộ chỉ mục. Một lớp như vậy không chỉ có một mảng đơn thuần mà còncó những thuộc tính khác, các phương thức...Nói chung là nếu ta chỉ cần thao tác đơnthuần trên từng phần riên lẻ của một mảng thì nên dùng ...

Tài liệu được xem nhiều: