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();
}
相关推荐
会周易的程序员5 小时前
microLog 后端开发指南
开发语言·c++·物联网·设计模式·日志·iot·aiot
Esaka_Forever5 小时前
Python 完整内存管理机制详解
开发语言·python·spring
星空露珠5 小时前
迷你世界UGc3.0脚本Wiki[剧情动画模块管理接口 Timeline]
开发语言·数据结构·算法·游戏·lua
未来之窗软件服务5 小时前
计算机考试-C语言 应用题—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟·计算机考试
想你依然心痛5 小时前
AtomCode在后端开发中的实战体验:Go微服务从零搭建
开发语言·微服务·golang
我是一颗柠檬5 小时前
【Java项目技术亮点】EXPLAIN深度分析与慢查询治理
android·java·开发语言
luj_17685 小时前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
fei_sun6 小时前
【SystemVerilog】SystemVerilog与C语言的接口
c语言·开发语言
W是笔名6 小时前
python___容器类型的数据___序列
开发语言·python
☆cwlulu6 小时前
try-throw-catch异常捕获流程
开发语言·c++