Je développe une application en C# ciblant .NET 3.5. Dans celui-ci, j'ai 2 dictionnaires similaires qui contiennent des critères de validation pour un ensemble spécifique d'éléments dans mon application. Les deux dictionnaires ont des signatures identiques. Le premier dictionnaire a les paramètres par défaut et le deuxième dictionnaire contient certains paramètres définis par l'utilisateur. Je voudrais combiner les 2 dictionnaires en un qui contient les éléments des deux dictionnaires.C# Fusionner 2 dictionnaires
Le problème que je rencontre est qu'il est possible que les deux dictionnaires aient les mêmes valeurs de clé. La règle de base que je souhaite est d'avoir une combinaison des deux dictionnaire et s'il y a des clés dans les custom_settings qui existent déjà dans les paramètres default_settings, la valeur custom_settings écrase la valeur default_settings. La meilleure solution que j'ai est juste une boucle foreach, vérifiez si la clé existe dans l'autre dictionnaire, et sinon, ajoutez-la. J'ai fait quelques requêtes LINQ de base, mais je travaille toujours sur l'apprentissage des choses les plus avancées. J'ai vu quelques requêtes qui vont fusionner deux dictionnaires, mais la plupart impliquent de regrouper n'importe quel élément avec des clés dupliquées, ou seulement de retourner une collection avec seulement les clés dupliquées/Existe-t-il une requête ou une expression LINQ imitant le comportement de la boucle foreach J'utilise?
+1 pour le point # 2 (http://msdn.microsoft.com/en-us/library/k7z0zy8k.aspx) – Brad
+1 pour moi enseigner quelque chose que je ne savais pas. Je suis relativement autodidacte avec C# et je ne savais pas que vous pouviez le faire avec des dictionnaires. – psubsee2003
@ psubsee2003: À votre santé. Je suis à peu près sûr d'avoir utilisé le même schéma que votre code avant de découvrir qu'il était redondant (par hasard, il se baladait avec un réflecteur). – Ani