public bool Remove(string key) { var name = String.Format("{0}.{1}", _name, key); var data = CallContext.LogicalGetData(name); CallContext.FreeNamedDataSlot(name); //DecrementCount(); return(data == null); }
public bool Pop() { var len = Length(); if (len <= 0) { return(false); } len = len - 1; CallContext.FreeNamedDataSlot(IndexName(len)); CallContext.LogicalSetData(_size, len); return(true); }
public bool TryRemove(string key, out T result) { var name = String.Format("{0}.{1}", _name, key); var data = CallContext.LogicalGetData(name); CallContext.FreeNamedDataSlot(name); //DecrementCount(); if (data == null) { result = default(T); return(false); } else { result = (T)data; return(true); } }