Comment dresser une table de hachage pour foreach en c#

Je suis en train de dresser une table de hachage qui est définie comme:

private Hashtable keyPairs = new Hashtable();

foreach(SectionPair s in keyPairs)
{
   if(s.Section == incomingSectionNameVariable)
    {
      bExists = true;
      break;
    }
}
//more stuff here

Mais j'obtiens une erreur à partir de Visual Studio 2013, "InvalidCastException était non gérée". À l'aide d'un Dictionnaire, nonobstant, je suis intéressé à savoir pourquoi je reçois ce message d'erreur.

Êtes-vous sûr que tous les éléments de keyPairs peut être castée pour SectionPair? Aussi, vous ne devez pas utiliser non générique Hashtable. Déplacer génériques HashSet<T> pour obtenir le type de compilation de sécurité.

OriginalL'auteur Su Llewellyn | 2017-01-05