当前位置:首页 > Windows程序 > 正文

Directonary字典

2021-05-26 Windows程序

C# Dictionary 字典


说明
    必须包含名空间System.Collection.Generic
    Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
    键必须是唯一的,而值不需要唯一的
    键和值都可以是任何类型(比如:string, int, 自定义类型,等等)
    通过一个键读取一个值的时间是接近O(1)
    键值对之间的偏序可以不定义

使用方法,,代码:

using System; using System.Collections.Generic; namespace LambdaDemo {     class Program {         static void Main(string[] args) {             //定义             Dictionary<string, string> openWith = new Dictionary<string, string>();             //添加元素             openWith.Add("txt","notepad.exe");             openWith.Add("bmp", "otepad.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"]);             //遍历key             foreach (string key in openWith.Keys) {                 Console.WriteLine("Key = {0}", key); }             //遍历value             foreach (string value in openWith.Values) {                 Console.WriteLine("value = {0}", value); }             //遍历value, Second Method             Dictionary<string, string>.ValueCollection valueColl = openWith.Values;             foreach (string s in valueColl) {                 Console.WriteLine("Second Method, Value = {0}", s); }             //遍历字典             foreach (KeyValuePair<string, 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."); }             Console.ReadLine();               //参数为其它类型              Dictionary<int, string[]> OtherType = new Dictionary<int, string[]>();             OtherType.Add(1, "1,11,111".Split(‘,‘));             OtherType.Add(2, "2,22,222".Split(‘,‘));             Console.WriteLine(OtherType[1][2]);             //声明并添加元素             Dictionary<int, DouCube> MyType = new Dictionary<int, DouCube>();             for(int i = 1; i <= 9; i++) {                 DouCube element = new DouCube();                 element.Code = i * 100;                 element.Page = "http://www.doucube.com/" + i.ToString() + ".html";                 MyType.Add(i, element); }             //遍历元素             foreach (KeyValuePair<int, DouCube> kvp in MyType) {                 Console.WriteLine("Index {0} Code:{1} Page:{2}", kvp.Key, kvp.Value.Code, kvp.Value.Page); }             Console.ReadLine(); }         //参数为自定义类型,自定义类         class DouCube {             public int Code { get { return _Code; } set { _Code = value; } } private int _Code;             public string Page { get { return _Page; } set { _Page = value; } } private string _Page; } } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/71553.html