Listing 2

using namespace System;
using namespace System::IO;
using namespace System::Collections;
using namespace System::Runtime::Serialization::Formatters::Binary;

int main()
{
/*1*/ Hashtable^ dictionary = gcnew Hashtable(21000);

  StreamReader^ inStream = File::OpenText("dictionary.txt");
  String^ str;

  while ((str = inStream->ReadLine()) != nullptr)
  {
/*2*/   dictionary->Add(str, nullptr);
  }

  inStream->Close();
/*3*/ Console::WriteLine("Dictionary contains {0} entries",  		    dictionary->Count);

  BinaryFormatter^ formatter = gcnew BinaryFormatter();
  Stream^ file = File::Open("dictionary.ser", FileMode::Create);
/*4*/ formatter->Serialize(file, dictionary);
  file->Close();
}