Tập khóa và tập giá trị

Một phần của tài liệu Tài Liệu Học Ngôn Ngữ Lập Trình C#_p7 pptx (Trang 30 - 32)

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ả: 00123001 00440123 00330124 My Tien Ngoc Thao Thanh Tung -----------------------------------------------------------------------------

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ùng vớ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 My Tien,...

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 thi phươ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. Ta có 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(“\t{0}:\t{1}”, enumerator.Key, enumerator.Value); } Console.WriteLine(); } } } -----------------------------------------------------------------------------  Kết quả: hashTableg Count: 3 Keys and Values:

00123001: 00440123: 00440123: 00330124: My Tien Ngoc Thao Thanh Tung -----------------------------------------------------------------------------

Một phần của tài liệu Tài Liệu Học Ngôn Ngữ Lập Trình C#_p7 pptx (Trang 30 - 32)

Tải bản đầy đủ (PDF)

(40 trang)