Hashtable это класс храняющий набор пар "ключ-значение".
Hashtable относится к
необобщенной коллекции... то есть элементы могут быть разного типа.
C#
Пример Hashtable
Создаем новое C# консольное приложение и напишем код:
using System;
using System.Collections; // подключаем Hashtable
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// создаем Hashtable
Hashtable myHash = new Hashtable();
// добавляем элементы (ключом может быть и строка, любой тип)
myHash.Add(20/*ключ*/, "Computer" /*значение*/);
myHash.Add(30/*ключ*/, "TV" /*значение*/);
myHash.Add(5/*ключ*/, "House" /*значение*/);
// в myHash элементы: {key=5, value="House"} {key=20, value="Computer"} {key=30, value="TV"}
// Перебираем все элементы с помощью foreach и выводим на экран
foreach (object key in myHash.Keys)
Console.WriteLine("Ключ=" + key + " , значение=" + myHash[key]);
// на экране увидим "Ключ=20 , значение=Computer"
// на экране увидим "Ключ=5 , значение=House"
// на экране увидим "Ключ=30 , значение=TV"
// то есть Hashtable не сотрирует значения по ключу
// установить значение по ключу
myHash[33] = "aaa";
// в myHash элементы: {key=5, value="House"} {key=20, value="Computer"} {key=30, value="TV"} {key=33, value="aaa"}
// получим значение по ключу
object value = myHash[99]; // Exception не будет если ключа такого нет
// value = null
// узнать есть ли такой ключ
bool isFound = myHash.ContainsKey(5); // Exception не будет если ключа такого нет
// isFound = true
// удаляем элемент по ключу 30 {key=30, value="TV"}
myHash.Remove(30);
// в myHash элементы: {key=5, value="House"} {key=20, value="Computer"} {key=33, value="aaa"}
}
}
}