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();
}
相关推荐
测试员周周2 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
杜子不疼.4 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号34 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia5 小时前
Qt——编辑交互功能的实现
开发语言·qt
石山代码5 小时前
C++ 内存分区 堆区
java·开发语言·c++
无风听海6 小时前
C# 隐式转换深度解析
java·开发语言·c#
LateFrames6 小时前
520 - 如何说晚安 (WPF)
c#·wpf·浪漫·ui体验
一只大袋鼠6 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
LuminousCPP7 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习
魔法阵维护师7 小时前
从零开发游戏需要学习的c#模块,第十四章(保存和加载)
学习·游戏·c#