Ich habe ein Wörterbuch [mapData]
wie unten und überprüfen Schlüssel ein [Dictionary< string, DateTime >]
existiert in [mapData]
ist, aber es hat nicht funktioniert:Wie überprüft man, ob der Schlüssel in einem Wörterbuch existiert, wenn der Schlüssel selbst ein Wörterbuch (C#) ist?
var mapData = new Dictionary<Dictionary<string, DateTime>, List<Student>>();
foreach (var st in listStudent)
{
// Create Key
var dicKey = new Dictionary<string, DateTime>();
dicKey.Add(st.Name, st.Birthday);
// Get mapData
if (!mapData.ContainsKey(dicKey)) // ===> Can not check key exists
{
mapData.Add(dicKey, new List<Student>());
}
mapData[dicKey].Add(st);
}
ich mit der Erweiterung Methode als unten versucht, aber auch nicht:
public static bool Contains<Tkey>(this Dictionary<Tkey, List<Student>> dic, Tkey key)
{
if (dic.ContainsKey(key))
return true;
return false;
}
Alle Tipps zu diesen werden große Hilfe sein. Danke im Voraus.
"es nicht funktioniert" nicht sagen uns nichts über das, was du gesehen hast. Es klingt, als ob die Verwendung eines Wörterbuchs hier eine schlechte Wahl ist - es ist sicherlich eine sehr seltsame Schlüsselwahl. Was erwarten Sie in diesem Wörterbuch außer dem Namen und dem Geburtstag des Schülers? –