The remove method of dictionary takes the key as an argument
#include "stdafx.h" using namespace System; using namespace System::Collections::Generic; int main() { IDictionary<String^, String^>^ dict; dict = gcnew Dictionary<String^, String^>(); dict->Add("a", "A"); dict->Add("o", "B"); dict->Add("i", "C"); for each (KeyValuePair<String^, String^>^ pair in dict) { Console::WriteLine(" {0}: {1}", pair->Key, pair->Value); } dict->Remove("hat"); for each (KeyValuePair<String^, String^>^ pair in dict) { Console::WriteLine(" {0}: {1}", pair->Key, pair->Value); } }