代码改变世界

Dictionary 泛型类学习(学习内容来自MSDN)

2006-12-18 10:00  努力学习的小熊  阅读(3042)  评论(1编辑  收藏  举报

Dictionary 泛型类

1.表示键和值的集合。

2.命名空间:System.Collections.Generic

3.程序集:mscorlib.dll

4.类型参数:

       TKey      字典中的键的类型

       TValue     字典中的值的类型

5Dictionary 泛型类提供了从一组键到一组值的映射。字典中的每个添加项都由一个值及其相关联的键组成。

6.定义:

Dictionary<string, string> openWith = new Dictionary<string, string>();

7.使用Add方法可以向其中添加值

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

8.当添加重复的键时会引发ArgumentException类型的异常。

9.使用["txt"]的方法可以找到相对应的值,并可以修改这个键对应的值。

10.如果键不存在,可以通过如下方法添加新的键/值对。

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

11.如果取值的键不存在,会引发一个KeyNotFoundException类型的异常。

12.使用TryGetValue方法来尝试取出一个键对应的值,如果这个值存在就取出返回,这样可以避免抛出KeyNotFoundException异常。返回值类型为布尔类型。

示例代码:

            string value = "";

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

            {

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

            }

            else

            {

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

            }

 

13.使用ContainsKey方法来判断是否包含指定的键,返回值类型为布尔类型。

14.使用foreach语句来做检索。

示例代码:

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

            {

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

                    kvp.Key, kvp.Value);

            }

15.使用Values属性,可以仅取出所有的值而不取出所有的键。

16.使用Keys属性,可以仅取出所有的键而不取出所有的值。

17.使用Remove方法,可以根据键来移除集合中的键/值对。

 

参考资料:

Dictionary 泛型类(中文)

Dictionary 泛型类(英文)