public void Remove(TKey key)
        {
            var _internalArrayCopy = new InternalArrayType <TKey, TValue> [_internalArray.Length - 1];
            int j = 0;

            for (int i = 0; i < _internalArray.Length; i++)
            {
                if (_internalArray[i].key.Equals(key))
                {
                    continue;
                }
                _internalArrayCopy[j++] = _internalArray[i];
            }
            _internalArray = _internalArrayCopy;
        }
 public void Add(TKey key, TValue value)
 {
     if (_internalArray == null)
     {
         _internalArray          = new InternalArrayType <TKey, TValue> [1];
         _internalArray[0].key   = key;
         _internalArray[0].value = value;
     }
     else
     {
         var _internalArrayCopy = new InternalArrayType <TKey, TValue> [_internalArray.Length + 1];
         // Ohne Kopierkonstruktor
         for (int i = 0; i < _internalArray.Length; i++)
         {
             _internalArrayCopy[i].key   = _internalArray[i].key;
             _internalArrayCopy[i].value = _internalArray[i].value;
         }
         _internalArrayCopy[_internalArray.Length].key   = key;
         _internalArrayCopy[_internalArray.Length].value = value;
         _internalArray = _internalArrayCopy;
     }
 }