System.Collections.ObjectModel.KeyedCollection<TKey,TItem>. ChangeItemKey yöntemi
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
ChangeItemKey(TItem, TKey) yöntemi içine item
eklenmiş anahtarı değiştirmez; yalnızca arama sözlüğüne kaydedilen anahtarın yerini alır. Bu nedenle, içine eklenmiş item
olan anahtardan farklıysanewKey
, tarafından GetKeyForItemdöndürülen anahtarı kullanarak erişemezsinizitem
.
Arama sözlüğü yoksa KeyedCollection<TKey,TItem> bu yöntem hiçbir şey yapmaz.
içindeki KeyedCollection<TKey,TItem> her anahtar benzersiz olmalıdır. Anahtar olamaz null
.
Bu yöntem bir O(1) işlemidir.
Uygulayıcılar için notlar
Bir öğeye eklenmiş anahtarı değiştirmeden önce, arama sözlüğündeki anahtarı güncelleştirmek için bu yöntemi çağırmanız gerekir. Sözlük oluşturma eşiği -1 ise, bu yöntemi çağırmak gerekli değildir.
yöntemini türetilmiş bir sınıfın genel yöntemi olarak kullanıma sunma ChangeItemKey . Bu yöntemin kötüye kullanılması arama sözlüğüne öğe anahtarlarıyla eşitlenmez. Örneğin, anahtarı null
olarak ayarlamak ve sonra başka bir değere ayarlamak, arama sözlüğüne bir öğe için birden çok anahtar ekler. Değiştirilebilir öğe anahtarlarına izin vermek için bu yöntemi dahili olarak kullanıma sunma: Bir öğenin anahtarı değiştiğinde, arama sözlüğündeki anahtarı değiştirmek için bu yöntem kullanılır.