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; } }