public virtual void RemoveByKey (string key) { int index = this.IndexOfKey (key); if (index >= 0 && index < this.Count) this.RemoveAt (index); }