Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
O ChangeItemKey(TItem, TKey) método não modifica a chave inserida item
; ele simplesmente substitui a chave salva no dicionário de pesquisa. Portanto, se newKey
for diferente da chave inserida, você não poderá acessar item
usando a chave retornada item
por GetKeyForItem.
Esse método não fará nada se KeyedCollection<TKey,TItem> não tiver um dicionário de pesquisa.
Cada chave em uma KeyedCollection<TKey,TItem> deve ser exclusiva. Uma chave não pode ser null
.
Esse método é uma operação O(1).
Notas para implementadores
Antes de modificar a chave inserida em um item, você deve chamar esse método para atualizar a chave no dicionário de pesquisa. Se o limite de criação do dicionário for -1, chamar esse método não será necessário.
Não exponha o ChangeItemKey método como um método público de uma classe derivada. O uso indevido desse método coloca o dicionário de consulta fora de sincronia com as chaves dos itens. Por exemplo, definir a chave null
e defini-la como outro valor adiciona várias chaves para um item ao dicionário de pesquisa. Exponha esse método internamente para permitir chaves de item mutáveis: quando a chave de um item é alterada, esse método é usado para alterar a chave no dicionário de pesquisa.