信息
您所需的主题如下所示。但此主题未包含在此库中。

IDictionary.Item 属性

2013/12/13

获取或设置具有指定键的元素。

Namespace:  System.Collections
程序集:  mscorlib(位于 mscorlib.dll 中)

Object this[
	Object key
] { get; set; }

参数

key
类型: System.Object
要获取或设置的元素的键。

属性值

类型: System.Object
具有指定键的元素。

异常条件
ArgumentNullException

keynull

NotSupportedException

设置该属性,而且 IDictionary 对象为只读。

- 或 -

设置该属性,集合中不存在 key,而且 IDictionary 具有固定大小。

可以使用下面的语法通过此属性访问集合中的特定元素:myCollection[key].

通过设置字典中不存在的键值(例如,myCollection["myNonexistentKey"] = myValue),还可以使用 Item 属性添加新元素。但是,如果字典中已存在指定的键,则设置 Item 属性将覆盖旧值。相比之下,Add 方法不修改现有元素。

实现在是否允许键为 null 方面有所不同。

C# 语言使用 this 关键字来定义索引器而不是通过实现 Item 属性。Visual Basic 将 Item 实现为默认属性,该属性提供相同的索引功能。

下面的代码示例演示如何实现 Item 属性。此代码示例是为 IDictionary 类提供的一个更大示例的一部分。


public object this[object key]
{
   get
   {
      // If this key is in the dictionary, return its value.
      Int32 index;
      if (TryGetIndexOfKey(key, out index))
      {
         // The key was found; return its value.
         return items[index].Value;
      }
      else
      {
         // The key was not found; return null.
         return null;
      }
   }

   set
   {
      // If this key is in the dictionary, change its value. 
      Int32 index;
      if (TryGetIndexOfKey(key, out index))
      {
         // The key was found; change its value.
         items[index].Value = value;
      }
      else
      {
         // This key is not in the dictionary; add this key/value pair.
         Add(key, value);
      }
   }
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: