C#中键值对应的操作类及方法
来源:互联网 发布:佳明connect下载软件 编辑:程序博客网 时间:2024/06/05 08:52
一、Dictionary
Dictionary﹤string,string﹥myDic=newDictionary﹤string,string﹥();
myDic.Add("aaa","111");
myDic.Add("bbb","222");
myDic.Add("ccc","333");
myDic.Add("ddd","444");
二、SortedList
SortedList<string, string> prList = new SortedList<string, string>();
prList.Add("hotelid", dt.Rows[0]["hotelId"].ToString());//酒店
IDprList.Add("sdate", dt.Rows[0]["Intime"].ToString());//入住时间
prList.Add("edate", dt.Rows[0]["outtime"].ToString());//退房时间
string strPrList = "";
foreach (string keyStr in prList.Keys)
{strPrList += keyStr + "=" + prList[keyStr] + "&";}
strPrList = strPrList.Substring(0, strPrList.LastIndexOf("&"));
三、 KeyValuePair
KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;
三、Hashtable
Hashtable ht=new Hashtable(); file创建一个Hashtable实例
ht.Add(E,e);添加keyvalue键值对
Hashtable 内的每一组对象就是一个DictionaryEntry
例如我们要循环hashtable
foreach (DictionaryEntry de in myHashtable) {...}
Hashtable就是一个DictionaryEntry的集合
1,哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.
2,哈希表的简单操作
在哈希表中添加一个keyvalue键值对:HashtableObject.Add(key,value);
在哈希表中去除某个keyvalue键值对:HashtableObject.Remove(key);
从哈希表中移除所有元素: HashtableObject.Clear();
判断哈希表是否包含特定键key: HashtableObject.Contains(key);
下面控制台程序将包含以上所有操作:
using System;
using System.Collections; //使用Hashtable时,必须引入这个命名空间
class hashtable
{
public static void Main()
{
Hashtable ht=new Hashtable(); //创建一个Hashtable实例
ht.Add("E","e");//添加keyvalue键值对
ht.Add("A","a");
ht.Add("C","c");
ht.Add("B","b");
string s=(string)ht["A"];
if(ht.Contains("E")) //判断哈希表是否包含特定键,其返回值为true或false
Console.WriteLine("the E key exist");
ht.Remove("C");//移除一个keyvalue键值对
Console.WriteLine(ht["A"]);//此处输出a
ht.Clear();//移除所有元素
Console.WriteLine(ht["A"]); //此处将不会有任何输出
}
}
3,遍历哈希表
遍历哈希表需要用到DictionaryEntry Object,代码如下:
for(KeyValuePair de in ht) //ht为一个Hashtable实例
{
Console.WriteLine(de.Key);//de.Key对应于keyvalue键值对key
Console.WriteLine(de.Value);//de.Key对应于keyvalue键值对value
}
4,对哈希表进行排序
对哈希表进行排序在这里的定义是对keyvalue键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //别忘了导入System.Collections
akeys.Sort(); //按字母顺序进行排序
for(string skey in akeys)
{
Console.Write(skey + ":");
Console.WriteLine(ht[skey]);排序后输出
}
-------------------------------------------------------------------------
KeyValuePair和Hashtable区别
KeyValuePair是单个的键值对对象,而Hashtable是一个集合。
KeyValuePair用于接收combox选定的值。
例如:KeyValuePair<string, object> par = (KeyValuePair<string, object>)shoplistcomboBox.SelectedItem;
hashtable 与 dictionary的区别
1:单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分.
2:多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减.
3:Dictionary 有按插入顺序排列数据的特性 (注: 但当调用 Remove() 删除过节点后顺序被打乱), 因此在需要体现顺序的情境中使用 Dictionary 能获得一定方便.
- C#中键值对应的操作类及方法
- C# 关于combobox的键值对应
- js中键盘按键对应的键值
- C# 常用的Excel 格式化操作 及 常用颜色定义对应Excel中颜色名
- C# 常用的Excel 格式化操作 及 常用颜色定义对应Excel中颜色名
- 获取Map的keyset使用remove方法Map中对应的键值也会被移除
- C# 关于comboBox键值对应
- symbian 对应的键值
- 热键对应的键值
- 键盘对应的键值
- “发送到”对应的键值
- 获取键盘对应的键值
- C#中比较常见的类&方法、对应的引用、例子
- HTTP中常见方法及对应的Servlet函数
- JavaScript中实现键值对的方法
- JS中遍历键值对的方法
- 键值对应
- xcode 中 info.plist 键值对应关系
- 配置Eclipse与MyEclipse代码最后面的大括号格式
- Android Launcher分析和修改3——Launcher启动和初始化
- 用python写1个简单的聊天服务器8-version0.1收尾工作
- 前端开发中的性能那点事(三)php的opcode缓存
- 制作rpm所依赖的spec文件详细说明
- C#中键值对应的操作类及方法
- VisifireChart 图表控件 Y轴 不显示数据
- Struts2的类型转换(1):基于ognl的类型转换
- 输入一个字符串表达式,输出计算结果(队列、栈的应用)
- 用户态到内核态切换之奥秘解析
- 详解C中的volatile关键字
- IOS设计模式学习(7)单例
- Windows Via C/C++:用户模式下的线程同步——原子操作:Interlocked函数族
- 0628学习笔记