SortedList.Item[Object] 属性

定义

获取或设置与 SortedList 对象中的特定键相关联的值。

public:
 virtual property System::Object ^ default[System::Object ^] { System::Object ^ get(System::Object ^ key); void set(System::Object ^ key, System::Object ^ value); };
public virtual object this[object key] { get; set; }
public virtual object? this[object key] { get; set; }
member this.Item(obj) : obj with get, set
Default Public Overridable Property Item(key As Object) As Object

参数

key
Object

与要获取或设置的值相关联的键。

属性值

如果找到 key,则为与 SortedList 对象中的 key 参数相关联的值;否则为 null

实现

例外

keynull

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

- 或 -

设置了该属性,但 key 不存在于集合中,且 SortedList 具有固定的大小。

没有足够的可用内存来将元素添加到 SortedList

比较器引发异常。

注解

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

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

键不能是 null,但值可以是 。 若要区分 null 由于未找到指定键而返回的 ,以及 null 由于指定键 null的值为 而返回的 ,请使用 Contains 方法或 ContainsKey 方法来确定列表中是否存在该键。

的元素SortedList根据创建 时SortedList指定的特定IComparer实现或IComparable键本身提供的实现按键排序。

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

检索此属性的值是一个 O(log n) 操作,其中 nCount。 如果键已位于 中,SortedList则设置 属性是一项O(log n)操作。 如果键不在列表中,则设置 属性是 O(n) 针对未排序数据的操作,或者在 O(log n) 列表末尾添加新元素。 如果插入导致重设大小,则操作为 O(n)

适用于

另请参阅