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<stringstring> openWith =
                
new Dictionary<stringstring>();

            
// 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<stringstring> kvp in openWith)
            {
                Console.WriteLine(
"Key = {0}, Value = {1}",
                    kvp.Key, kvp.Value);
            }

            
// To get the values alone, use the Values property.
            Dictionary<stringstring>.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<stringstring>.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();
        }
    }
}
posted on 2008-06-02 11:41  迷你软件  阅读(432)  评论(1编辑  收藏  举报

本网站绝大部分资源来源于Internet,本站所有作品版权归原创作者所有!!如有以下内容:章节错误、非法内容、作者署名出错、版权疑问、作品内容有违相关法律等请及时与我联系. 我将在第一时间做出响应!本站所有文章观点不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。