Brunet.Collections.WeakHashtable.Add C# (CSharp) Метод

Add() публичный Метод

public Add ( object key, object val ) : void
key object
val object
Результат void
  public void Add(object key, object val) {
    //By default, allow the system to rebalance
    this.Add(key, val, false, true);
  }
  /**

Same methods

WeakHashtable::Add ( object key, object val, bool replace, bool rebalance ) : void

Usage Example

Пример #1
0
        /**
         * NUnit test method
         */
        public void Test()
        {
            /*
             * Here are some very basic tests
             */
            Hashtable     ht  = new Hashtable();
            WeakHashtable wht = new WeakHashtable();

            /*
             * Check to see if it fails when working as a basic
             * Hashtable.
             */
            /*
             * Make sure we can't add a null key
             */
            bool can_add_null = true;

            try {
                wht[null] = "oh no";
            }
            catch (ArgumentNullException) {
                can_add_null = false;
            }
            Assert.IsFalse(can_add_null, "Null key test");

            /*
             * Check to see that we can't Add() the same key twice:
             */
            bool   can_add_twice = true;
            object key2          = "test";

            try {
                wht.Add(key2, "first");
                wht.Add(key2, "second");
            }
            catch (ArgumentException) {
                can_add_twice = false;
            }
            Assert.IsFalse(can_add_twice, "double Add");

            /*
             * Check to see that we can set twice:
             */
            wht[key2] = "first";
            wht[key2] = "second";
            Assert.AreEqual("second", wht[key2], "double set");
            wht.Clear();
            Assert.AreEqual(wht.Count, 0);

            /*
             * Put in a bunch of random keys
             */
            Random r = new Random();

            for (int i = 0; i < 1000; i++)
            {
                //Use a reference type here:
                object key = r.Next().ToString();
                int    val = r.Next();
                ht[key]  = val;
                wht[key] = val;
            }
            IDictionaryEnumerator enm = ht.GetEnumerator();

            while (enm.MoveNext())
            {
                Assert.AreEqual(enm.Value, wht[enm.Key], "basic hashtable test");
            }

            /*
             * Let's remove all the elements we put in earlier:
             */
            enm = ht.GetEnumerator();
            while (enm.MoveNext())
            {
                wht.Remove(enm.Key);
            }
            Assert.AreEqual(0, wht.Count, "Zero count after removal");
        }
All Usage Examples Of Brunet.Collections.WeakHashtable::Add