C#中的Hashtable
richTextBox1.Text = "";
Hashtable ht = new Hashtable();
ht.Add("", ""); ht.Add("", "");
ht.Add("", "");
ht.Add("", ""); //遍历方法一:遍历哈希表中的键
richTextBox1.Text += "遍历方法一:遍历哈希表中的键\n";
foreach (string key in ht.Keys)
{
//Console.WriteLine(string.Format("{0}-{1}"), key, ht[key]);
richTextBox1.Text+= string.Format("{0}-{1}", key, ht[key])+"\n";
}
richTextBox1.Text += "遍历方法二:遍历哈希表中的值**********************************************************\n";
//遍历方法二:遍历哈希表中的值
foreach (string value in ht.Values)
{
richTextBox1.Text+= value+"\n";
}
richTextBox1.Text += "遍历方法三:遍历哈希表中的键值**********************************************************\n";
//遍历方法三:遍历哈希表中的键值
foreach (DictionaryEntry de in ht)
{
richTextBox1.Text += string.Format("{0}-{1}", de.Key, de.Value)+"\n";
}
richTextBox1.Text += "遍历方法四:遍历哈希表中的键值**********************************************************\n";
//遍历方法四:遍历哈希表中的键值
IDictionaryEnumerator myEnumerator = ht.GetEnumerator();
bool flag = myEnumerator.MoveNext();
while (flag)
{
richTextBox1.Text+= myEnumerator.Key + "-" + myEnumerator.Value+"\n";
// Console.WriteLine(ht[myEnumerator.Key]);//ht[myEnumerator.Key]== myEnumerator.Value=true;
flag = myEnumerator.MoveNext();
}
richTextBox1.Text += ht[""] + "\n";
、别称:哈希表、键值对、关联数组 、概述:
()、用于处理和表现类似Key/Value的键值对
()、key --- 可以是不同数据类型,但不能重名,必须满足唯一性,同时它还区分大小写。通常用于快速查找,类似索引。
value --- 用于存储对应key的值,
二者均为object类型, 因此,Hashtable支持任何类型的key/value键值对。
()、Hashtable中的元素存储在DictionaryEntry对象中。 、声明之前需引用命名空间:System.Collections
Hashtable ht = new Hashtable(); 、添加方法:
()Add(键,"值")
()ht[键] = "值"
用第二种方法,可能添加元素,也可能是重新赋值,取决于 “键”是否已经存在! 、遍历方法:利用foreach循环
()用DictionaryEntry对象 声明;
foreach (DictionaryEntry myEntry in ht)
{
Console.WriteLine("key键:{0}-----value值:{1}",myEntry.Key,myEntry.Value);
}
()用Object类声明
foreach (object obj in ht.Keys)
{
Console.WriteLine("key键:{0}-----value值:{1}",obj,ht[obj]);
}
、删除方法:
Remove(Key键) ----- 删除指定元素
Clear() ------ 清空所有元素 、查找方法:(返回布尔值)
ContainsKey ---- 按 键 查找
ContainsValue ---- 按 值 查找
C#中的Hashtable的更多相关文章
- 在webservice中传递Hashtable
webservice中不支持hashtable的数据类型,那么如何在webservice中传递hashtable呢?我们可以通过将hashtable转化为webservice中支持的数组的类型来进行传 ...
- WPF中使用Hashtable剔除重复字符串(比如电话号码)
原文:WPF中使用Hashtable剔除重复字符串(比如电话号码) 本文中的输入框中的字符串是逗号隔开的,你可以换成其他特别的字符串.本篇中的亮点:1. 里面有一个玻璃样式按钮,用XAML制作2. W ...
- 【C# 集合】HashTable .net core 中的Hashtable的实现原理
上一篇我介绍了Hash函数 这篇我来说一下Hash函数在 HashTable中的应用. HashTable的特性: 1.装载因子:.net core 0.72 ,java 0.75 2.冲突解决方案: ...
- Java中的HashTable详解
Hashtables提供了一个很有用的方法可以使应用程序的性能达到最佳. Hashtables(哈 希表)在计算机领域中已不 是一个新概念了.它们是用来加快计算机的处理速度的,用当今的标准来处理,速度 ...
- java中的hashtable
好久没写博客了,这次总结一下hashtable,哈希表是我们在数据结构时候所学,在网络安全时候,老师说可以用来加密,在数据库中,可以用来当作索引. http://www.cnblogs.com/leo ...
- C#中遍历Hashtable的4种方法
static void Main(string[] args) { Hashtable ht=new Hashtable(); ht.Add("); ht.Add("); ht.A ...
- 哈希表工作原理 (并不特指Java中的HashTable)
1. 引言 哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用. 哈希表最大的优点,就是把数据的存储和查找消耗的时 ...
- C#中HashTable的用法
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中 ...
- (转)C#中键值对类型Hashtable与Dictionary比较和相关用法
最近在使用C#中的Hashtable与Dictionary的时候,想知道其区别,通过查找网络相关博客资料,作出下列总结. Hashtable与Dictionary虽然都是作为键值对的载体,但是采用的是 ...
随机推荐
- django-xadmin后台开发
先通过pip命令行安装django<=1.9版本 示例:pip install django==1.9 从https://github.com/sshwsfc/xadmin下载xadmin源码解 ...
- Linux 管道
管道命令 " | ",竖线符号代表的就是管道符 管道是一种两个进程间进行单向通信的机制.因为管道传递数据的单向性,所以又称为半双工管道. 介绍: 管道可以根据一组命令按照数据流向的 ...
- PHP跨域访问
1.允许所有域名访问 header('Access-Control-Allow-Origin: *'); 2.允许单个域名访问 header('Access-Control-Allow-Origin: ...
- 001_Eclipse编写第一个Java程序
1 下载并安装jdk 2 下载较新版本的eclipse,eclipse都是非安装版的,解压缩即可. 3 双击eclipse.exe,打开elipse软件 4 FileàNewàProject 5 选择 ...
- 【Java】 大话数据结构(5) 线性表之双向链表
本文根据<大话数据结构>一书,实现了Java版的双向链表. 在每个数据结点中都有两个指针,分别指向直接后继和直接前驱,这样的链表称为双向链表. 双向链表的结构如图所示: 查找元素可以根据元 ...
- java中static,final,private方法的继承多态问题
父类中的final private方法不能被继承,父类中的static方法可以被继承,但是不能重写,这三者都属于前期绑定,java中除了这三种以及构造方法之外剩下的都是后期绑定(运行是绑定). 当父 ...
- 005.Zabbix-Agent客户端安装
一 安装Zabbix-Agent [root@imxhy ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-rel ...
- Python 项目实践三(Web应用程序) 第三篇
接着上节的继续学习,现在要显示所有主题的页面 有了高效的网页创建方法,就能专注于另外两个网页了:显示全部主题的网页以及显示特定主题中条目的网页.所有主题页面显示用户创建的所有主题,它是第一个需要使用数 ...
- Orleans入门
一.Grains 二.开发一个Grain 三.开发一个客户端 四.运行应用程序 五.调式 一.Grains Grains是Orleans编程模型的关键原语. Grains是Orleans应用程序的构建 ...
- django权限管理
当我们为应用创建一个Models, 在同步到数据库里,django默认给了三个权限 ,就是 add, change, delete权限. 首先,我们创建一个perm_test的project, 然后再 ...