C#集合示例

using System;

using System.Collections.Generic;

using System.Text;



namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            // Create a new dictionary of strings, with string keys.

            //

            Dictionary<string, string> openWith =

                new Dictionary<string, string>();



            // Add some elements to the dictionary. 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 dictionary.

            try

            {

                openWith.Add("txt", "winword.exe");

            }

            catch (ArgumentException)

            {

                Console.WriteLine("An element with Key = /"txt/" already exists.");

            }



            // The Item property is another name for the indexer, so you 

            // can omit its name when accessing elements. 

            Console.WriteLine("For key = /"rtf/", value = {0}.",

                openWith["rtf"]);



            // The indexer 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 indexer for that key

            // adds a new key/value pair.

            openWith["doc"] = "winword.exe";



            // The indexer throws an exception if the requested key is

            // not in the dictionary.

            try

            {

                Console.WriteLine("For key = /"tif/", value = {0}.",

                    openWith["tif"]);

            }

            catch (KeyNotFoundException)

            {

                Console.WriteLine("Key = /"tif/" is not found.");

            }



            // When a program often has to try keys that turn out not to

            // be in the dictionary, TryGetValue can be a more efficient 

            // way to retrieve values.

            string value = "";

            if (openWith.TryGetValue("tif", out value))

            {

                Console.WriteLine("For key = /"tif/", value = {0}.", value);

            }

            else

            {

                Console.WriteLine("Key = /"tif/" is not found.");

            }



            // 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 dictionary elements,

            // the elements are retrieved as KeyValuePair objects.

            Console.WriteLine();

            foreach (KeyValuePair<string, string> kvp in openWith)

            {

                Console.WriteLine("Key = {0}, Value = {1}",

                    kvp.Key, kvp.Value);

            }



            // To get the values alone, use the Values property.

            Dictionary<string, string>.ValueCollection valueColl =

                openWith.Values;



            // The elements of the ValueCollection are strongly typed

            // with the type that was specified for dictionary values.

            Console.WriteLine();

            foreach (string s in valueColl)

            {

                Console.WriteLine("Value = {0}", s);

            }



            // To get the keys alone, use the Keys property.

            Dictionary<string, string>.KeyCollection keyColl =

                openWith.Keys;



            // The elements of the KeyCollection are strongly typed

            // with the type that was specified for dictionary 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.");

            }



            Console.ReadKey();

        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值