je dois comparer deux dictionnaires et de mettre à jour un autre dictionnaire avec des éléments inégalésComparaison Dictionnaires en utilisant LINQ en C#
Les deux dictionnaires sont comme
Dictionary<String, List<String>> DICTONE = new Dictionary<string, List<String>>();
Dictionary<string, List<String>> DICTTWO = new Dictionary<string, List<String>>();
Et le contenu
DICTONE["KEY1"]="A"
"B"
"C"
DICTONE["KEY2"]="D"
"E"
"F"
DICTTWO["KEY1"]="A"
"B"
"Z"
DICTTWO["KEY3"]="W"
"X"
"Y"
Le troisième dictionnaire a une instance de classe en tant que valeur
Dictionary<String, MyClass> DICTRESULT = new Dictionary<string, MyClass>();
et la classe est comme
class MyClass
{
public List<string> Additional = null;
public List<string> Missing = null;
public MyClass()
{
Additional = new List<string>();
Missing = new List<string>();
}
public MyClass(List<string> p_Additional, List<string> p_Missing)
{
Additional = p_Additional;
Missing = p_Missing;
}
}
Le scenerio est
- Si un élément dans DICTONE et non pas dans DICTTWO l'ajouter l'élément à la liste MISSING dans le RESULTDICT
- Si un élément dans DICTTWO et PAS dans DICTTONE ajouter l'élément à la liste SUPPLÉMENTAIRE dans le RESULTDICT
la réponse attendue est
DICTRESULT["KEY1"]=ADDITIONAL LIST ---> "Z"
MISSING LIST ---> "C"
DICTRESULT["KEY2"]=ADDITIONAL LIST ---> ""
MISSING LIST ---> "D"
"E"
"F"
DICTRESULT["KEY3"]=ADDITIONAL LIST ---> ""
MISSING LIST ---> "W"
"X"
"Y"
est-il possible de le faire en utilisant LINQ
On dirait que les devoirs, pourriez-vous montrer ce que vous avez déjà fait? –
Pas grand chose, il a déjà posé une question très similaire http://stackoverflow.com/questions/3226123/how-to-compare-two-xml-files-in-c-using-xml-to-linq –