ChangeItemKey Method
Collapse the table of content
Expand the table of content

KeyedCollection(Of TKey, TItem).ChangeItemKey Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Changes the key associated with the specified element in the lookup dictionary.

Namespace:  System.Collections.ObjectModel
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Protected Sub ChangeItemKey ( _
	item As TItem, _
	newKey As TKey _
)

Parameters

item
Type: TItem
The element to change the key of.
newKey
Type: TKey
The new key for item.

ExceptionCondition
ArgumentNullException

item is Nothing.

-or-

key is Nothing.

ArgumentException

item is not found.

-or-

key already exists in the KeyedCollection(Of TKey, TItem).

This method does not modify the key embedded in item; it simply replaces the key saved in the lookup dictionary. Therefore, if newKey is different from the key that is embedded in item, you cannot access item by using the key returned by GetKeyForItem.

This method does nothing if the KeyedCollection(Of TKey, TItem) does not have a lookup dictionary.

Every key in a KeyedCollection(Of TKey, TItem) must be unique. A key cannot be Nothing.

This method is an O(1) operation.

Notes for Implementers

After modifying the key embedded in an item, you must call this method to update the key in the lookup dictionary. If the dictionary creation threshold is –1, calling this method is not necessary.

Do not expose the ChangeItemKey method as a public method of a derived class. Misuse of this method puts the lookup dictionary out of sync with item keys. For example, setting the key to Nothing and then setting it to another value adds multiple keys for an item to the lookup dictionary. Expose this method internally to allow mutable item keys: When the key for an item changes, this method is used to change the key in the lookup dictionary.

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft