c#HashTable

概念

HashTable 基于键的哈希代码组织起来的 键

它的主要作用是提高数据查询的效率

使用键来访问集合中的元素

声明

cs 复制代码
Hashtable hashtable = new Hashtable();

增删查改

增

cs 复制代码
hashtable.Add(1, "123");
hashtable.Add("123", 2);
hashtable.Add(true, false);
hashtable.Add(false, true);

注意 不能出现相同键

删

1只能通过键去删除

cs 复制代码
hashtable.Remove(1);

2删除不存在的键,没反应

3.或者直接清空

cs 复制代码
 hashtable.Clear();

查

cs 复制代码
Console.WriteLine(hashtable[1]);//[]填的是key
Console.WriteLine(hashtable[4]);//找不到会为空,返回null
Console.WriteLine(hashtable["123123"]);

查看是否存在

cs 复制代码
if (hashtable.Contains("2"))
{
    Console.WriteLine("存在键为2的键值对");
}
if (hashtable.ContainsKey(2))
{
    Console.WriteLine("存在键为2的键值对");
}

根据值去检测

cs 复制代码
if (hashtable.ContainsValue(12))
{
    Console.WriteLine("存在值为12的键值对");
}

改

cs 复制代码
hashtable[1] = 100.5f;

遍历

得到键值对 对数

cs 复制代码
Console.WriteLine(hashtable.Count);

1遍历所有键

cs 复制代码
 foreach(object item in hashtable.Keys)
 {
     Console.WriteLine("键:" + item);
     Console.WriteLine("值"+hashtable[item]);
 }

2遍历所有值

cs 复制代码
foreach(object item in hashtable.Values)
{
    Console.WriteLine("值"+item);
}

3键值对一起遍历

cs 复制代码
foreach(DictionaryEntry item in hashtable)
{
    Console.WriteLine("键+item.key" + "值" + item.Value) ;
}

4迭代器遍历法

cs 复制代码
IDictionaryEnumerator enumerator = hashtable.GetEnumerator();
bool flag = enumerator.MoveNext();
while (flag)
{
    Console.WriteLine("键" + enumerator + "值" + enumerator.Value);
    flag = enumerator.MoveNext();
}
相关推荐
WAKU12 分钟前
C#: 爸爸再爱我一回! 写在微软使用Rust重写GitHub Copilot之后的碎碎念
microsoft·rust·微软·c#·编程语言
唐青枫14 分钟前
别把 WPF 写成一个 MainWindow:C#.NET Prism 模块化开发详解
c#·.net
用户7884773163416 分钟前
WPF 数据绑定 5 个隐形坑:第 3 个 90% 的人都栽过
c#
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹5 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁6 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
kybs19916 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
孙启超6 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust