// Adds a key-value pair to the hash table // If the key is already present in the table this method does nothing public void Add(char Key, int[] Value) { if (Get(Key) != null) { return; } int HashedKey = Key % 256; BMHashItem HI = new BMHashItem(); HI.Shifts = new int[Value.Length]; HI.Key = Key; HI.Shifts = Value; if (Items[HashedKey] == null) { Items[HashedKey] = new BMHashItem[1] { HI } } ; else { BMHashItem[] NewItems = new BMHashItem[Items[HashedKey].Length + 1]; Items[HashedKey].CopyTo(NewItems, 0); NewItems[Items[HashedKey].Length] = HI; Items[HashedKey] = NewItems; } Count++; }
// Adds a key-value pair to the hash table // If the key is already present in the table this method does nothing public void Add(char Key, int[] Value) { if (Get(Key) != null) return; int HashedKey = Key % 256; BMHashItem HI = new BMHashItem(); HI.Shifts = new int[Value.Length]; HI.Key = Key; HI.Shifts = Value; if (Items[HashedKey] == null) Items[HashedKey] = new BMHashItem[1] {HI}; else { BMHashItem[] NewItems = new BMHashItem[Items[HashedKey].Length+1]; Items[HashedKey].CopyTo(NewItems, 0); NewItems[Items[HashedKey].Length] = HI; Items[HashedKey] = NewItems; } Count++; }