C#中的Dictionary字典类介绍.docxVIP

  • 8
  • 0
  • 约3.46千字
  • 约 4页
  • 2017-06-10 发布于北京
  • 举报
关键字:C#Dictionary字典作者:txw1958原文:/txw1958/archive/2012/11/07/csharp-dictionary.html说明必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 通过一个键读取一个值的时间是接近O(1) 键值对之间的偏序可以不定义使用方法://定义 Dictionarystring, string openWith = new Dictionarystring, string();//添加元素 openWith.Add(txt, notepad.exe); openWith.Add(bmp, paint.exe); openWith.Add(dib, paint.exe); openWith.Add(rtf, wordpad.exe);//取值 Console.WriteLine(For key = \rtf\, value = {0}., openWith[rtf]);//更改值 openWith[rtf] = winword.exe; Console.WriteLine(For key = \rtf\, value = {0}., openWith[rtf]);//遍历keyforeach (string key in openWith.Keys) { Console.WriteLine(Key = {0}, key); }//遍历valueforeach (string value in openWith.Values) { Console.WriteLine(value = {0}, value); }//遍历value, Second Method Dictionarystring, string.ValueCollection valueColl = openWith.Values;foreach (string s in valueColl) { Console.WriteLine(Second Method, Value = {0}, s); }//遍历字典foreach (KeyValuePairstring, string kvp in openWith) { Console.WriteLine(Key = {0}, Value = {1}, kvp.Key, kvp.Value); }//添加存在的元素try { openWith.Add(txt, winword.exe); }catch (ArgumentException) { Console.WriteLine(An element with Key = \txt\ already exists.); }//删除元素 openWith.Remove(doc);if (!openWith.ContainsKey(doc)) { Console.WriteLine(Key \doc\ is not found.); }//判断键存在if (openWith.ContainsKey(bmp)) // True { Console.WriteLine(An element with Key = \bmp\ exists.); }参数为其它类型//参数为其它类型 Dictionaryint, string[] OtherType = new Dictionaryint, string[](); OtherType.Add(1, 1,11,111.Split(,)); OtherType.Add(2, 2,22,222.Split(,)); Console.WriteLine(OtherType[1][2]);参数为自定义类型首先定义类class DouCube {publicint Code { get { return _Code; } set { _Code = value; } } privateint _Code;publicstring Page { get { return _Page; } set { _Page = value; } } privatestring _Page; } 然后//

文档评论(0)

1亿VIP精品文档

相关文档