Assigning null to a key in the MultiDictionary will not delete that key (this behavior is symmetric with the behavior of querying the values under a key where null indicates that the key doesn't exist - it also doesn't add any "secret tricks" because the normal Dictionary doesn't intersect this functionality of having an extra container between the key and the values)

git-svn-id: file:///srv/devel/repo-conversion/nusu@217 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
Markus Ewald 2011-08-14 09:33:10 +00:00
parent daf8f559d6
commit b7c883ea8d
5 changed files with 9 additions and 7 deletions

View file

@ -35,7 +35,7 @@ namespace Nuclex.Support.Collections {
/// <para>
/// Therefore, it's not only good at coping with lists that are modified at their
/// beginning, but also at handling huge data sets since enlarging the deque doesn't
/// require items to be copied around and still can be accessed by index.
/// require items to be copied around and it still can be accessed by index.
/// </para>
/// </remarks>
public partial class Deque<ItemType> : IList<ItemType>, IList {

View file

@ -18,11 +18,11 @@ License along with this library
*/
#endregion
#if UNITTEST
using System;
using System.Collections.Generic;
#if UNITTEST
using NUnit.Framework;
using NMock;

View file

@ -327,6 +327,10 @@ namespace Nuclex.Support.Collections {
public ICollection<TValue> this[TKey key] {
get { return this.typedDictionary[key]; }
set {
if(value == null) {
this.typedDictionary.Remove(key);
}
ICollection<TValue> currentValues;
if(this.typedDictionary.TryGetValue(key, out currentValues)) {
currentValues.Clear();

View file

@ -119,7 +119,7 @@ namespace Nuclex.Support.Collections {
/// Comparer used to identify and compare items to each other
/// </param>
public WeakCollection(
IList<WeakReference<ItemType>> items, IEqualityComparer<ItemType> comparer
IList<WeakReference<ItemType>> items, IEqualityComparer<ItemType> comparer
) {
this.items = items;
this.comparer = comparer;