Иллюстрированный самоучитель по VB.NET



Хэш-таблицы - часть 2


/p>

При помощи класса Hashtable можно сохранить информацию, полученную при вызове метода GetEnvironmentVariables класса System. Environment. Приведенная ниже небольшая программа выводит имена и значения всех переменных окружения, определенных в системе. Программу можно завершить в любой момент, просто закрыв консольное окно. Сначала просмотрите листинг, а потом мы объясним пару неочевидных моментов:

1 Option Strict On

2 Imports System.Environment

3 Module Modulel

4 Sub Main()

5 Dim eVariables As Hashtable

6 eVariables =CType(GetEnvironmentVariables().

Hashtable)

7 Console.Writel_ine("Press Enter to

see the next item")

8 Dim thing As Object

9 For Each thing In eVariables.Keys

10 Console.WriteLineC'The environment

variable named " & _

11 thing. ToString() & "has value " &

eVariables(thing).ToString())

12 Console. ReadLine()

13 Next

14 End Sub

15 End Module

Прежде всего использованный в строке 6 упрощенный синтаксис имени метода стал возможным благодаря вызову Imports в строке 2: eVariables =CType(GetEnvironmentVariables(),Hashtable)

Значение, полученное при вызове GetEnvironmentVariables(), преобразуется в хэш-таблицу функцией СТуре [ Возможно, в будущих иерсиях .NET такое преобразование работать не будет. ]. В строках 8 и 9 для перебора элементов хэш-таблицы используется переменная типа Object:

Dim thing As Object

For Each thing In eVariables.Keys

В стандартных хэш-таблицах хранятся только объекты. Но поскольку в VB .NET все данные являются объектными, строковые значения переменных окружения также могут сохраняться в переменной thing. Программа перебирает содержимое коллекции Keys и при помощи свойства Item для каждого ключа получает ассоциированное значение. Конструкцию eVariables(thing) в строке 11 также можно записать в следующем виде:

eVariables.Item(thing)

В строке 11 вызывается метод ToString, определенный в каждом классе (этот важный метод описан в главе 5). Здесь этот метод используется для вывода строкового представления ключа.




Содержание  Назад  Вперед