hashtable example from MSDN
来源:互联网 发布:c语言期末考试填空题 编辑:程序博客网 时间:2024/06/12 01:01
using System;
using System.Collections;
class Example
{
public static void Main()
{
// Create a new hash table.
//
Hashtable openWith = new Hashtable();
// Add some elements to the hash table. There are no
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");
// The Add method throws an exception if the new key is
// already in the hash table.
try
{
openWith.Add("txt", "winword.exe");
}
catch
{
Console.WriteLine("An element with Key = /"txt/" already exists.");
}
// The Item property is the default property, so you
// can omit its name when accessing elements.
Console.WriteLine("For key = /"rtf/", value = {0}.", openWith["rtf"]);
// The default Item property can be used to change the value
// associated with a key.
openWith["rtf"] = "winword.exe";
Console.WriteLine("For key = /"rtf/", value = {0}.", openWith["rtf"]);
// If a key does not exist, setting the default Item property
// for that key adds a new key/value pair.
openWith["doc"] = "winword.exe";
// ContainsKey can be used to test keys before inserting
// them.
if (!openWith.ContainsKey("ht"))
{
openWith.Add("ht", "hypertrm.exe");
Console.WriteLine("Value added for key = /"ht/": {0}", openWith["ht"]);
}
// When you use foreach to enumerate hash table elements,
// the elements are retrieved as KeyValuePair objects.
Console.WriteLine();
foreach( DictionaryEntry de in openWith )
{
Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value);
}
// To get the values alone, use the Values property.
ICollection valueColl = openWith.Values;
// The elements of the ValueCollection are strongly typed
// with the type that was specified for hash table values.
Console.WriteLine();
foreach( string s in valueColl )
{
Console.WriteLine("Value = {0}", s);
}
// To get the keys alone, use the Keys property.
ICollection keyColl = openWith.Keys;
// The elements of the KeyCollection are strongly typed
// with the type that was specified for hash table keys.
Console.WriteLine();
foreach( string s in keyColl )
{
Console.WriteLine("Key = {0}", s);
}
// Use the Remove method to remove a key/value pair.
Console.WriteLine("/nRemove(/"doc/")");
openWith.Remove("doc");
if (!openWith.ContainsKey("doc"))
{
Console.WriteLine("Key /"doc/" is not found.");
}
}
}
/* This code example produces the following output:
An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Value added for key = "ht": hypertrm.exe
Key = dib, Value = paint.exe
Key = txt, Value = notepad.exe
Key = ht, Value = hypertrm.exe
Key = bmp, Value = paint.exe
Key = rtf, Value = winword.exe
Key = doc, Value = winword.exe
Value = paint.exe
Value = notepad.exe
Value = hypertrm.exe
Value = paint.exe
Value = winword.exe
Value = winword.exe
Key = dib
Key = txt
Key = ht
Key = bmp
Key = rtf
Key = doc
Remove("doc")
Key "doc" is not found.
*/
注意当给的key 不在hashtable 中时,可以
openWith["doc"] = "winword.exe";
来添加新key/element对。
// When you use foreach to enumerate hash table elements,
// the elements are retrieved as KeyValuePair objects.
Console.WriteLine();
foreach( DictionaryEntry de in openWith )
{
Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value);
}
// To get the values alone, use the Values property.
ICollection valueColl = openWith.Values;
// The elements of the ValueCollection are strongly typed
// with the type that was specified for hash table values.
Console.WriteLine();
foreach( string s in valueColl )
{
Console.WriteLine("Value = {0}", s);
}
// To get the keys alone, use the Keys property.
ICollection keyColl = openWith.Keys;
// The elements of the KeyCollection are strongly typed
// with the type that was specified for hash table keys.
Console.WriteLine();
foreach( string s in keyColl )
{
Console.WriteLine("Key = {0}", s);
}
- hashtable example from MSDN
- 学习Dll(五)--example from MSDN
- Hashtable(MSDN)
- MSDN:WINUSB Example
- MSDN:WINUSB Example
- 创建线程(From MSDN)
- dynamic_cast Operator from MSDN
- String.Format from MSDN
- enum zz from msdn
- !!!Constant Expression (From MSDN)
- 编制新的 MSDN 目录(From MSDN)
- 编制新的 MSDN 目录(From MSDN)
- 编制新的 MSDN 目录(From MSDN)
- 编制新的 MSDN 目录(From MSDN)
- 控件执行生命周期(From MSDN)
- 安装与部署(from MSDN)
- abt adpcm encorder(from msdn)
- 101 LINQ Samples(from MSDN)
- 迟来的2007回顾以及大学一半时光流逝之纪念,发现我为何如此幸运?
- 编译WoWRL,使用Dev C++。
- UpdatePanel控件,你真的会用了吗?
- [随记]XSTREAM-JSON基本不能被javascript使用
- 老古董开博,云里雾里
- hashtable example from MSDN
- Fedora8添加yum最快升级源 Fedora 8常用软件
- int *a;和int* a;有区别吗?
- (原创)安装visual assist时遇到的麻烦,与u3dapi10.dll冲突
- C# string 中的 @
- 爱普生打印机打印出错,删除打印文件批处理
- TamperIE - 一个小巧的XSS漏洞检测辅助工具
- 正则表达式的一个简单例子
- 基于p2p的sip电话系统