private void InnerDelete(IntPtr writeOptions, string key) { var keyData = Encoding.UTF8.GetBytes(key); IntPtr error; LevelDBInterop.leveldb_delete(Database, writeOptions, keyData, (IntPtr)keyData.Length, out error); LevelDBException.Check(error); }
/// <summary> /// 删除指定键。 /// </summary> /// <param name="key">键。</param> /// <param name="sync">指示是否同步操作。</param> public void Delete(BinaryValue key, bool sync = false) { this.ThrowWhenDisposed(); var options = new WriteOptions(sync); var keyData = key.ByteArray; IntPtr error; LevelDBInterop.leveldb_delete(this._handle, options._handle, keyData, (IntPtr)keyData.LongLength, out error); LevelDBException.Check(error); GC.KeepAlive(options); GC.KeepAlive(this); }