Convertir un delimted chaîne à un dictionnaire<string,string> en C#
J'ai une chaîne de format
"cle1=valeur1;cle2=valeur2;key3=valeur3;"
J'ai besoin de convertir un dictionnaire pour le ci-dessus mentionné paires clé-valeur.
Quelle serait la meilleure façon d'aller à ce sujet?
Merci.
- C'est fondamentalement un double de cette question: stackoverflow.com/questions/776107/... je suppose que vous devez remplacer votre
;
avec&
avant qui fonctionne bien. - Double Possible de Convertir une chaîne délimitée à un dictionnaire<string,uint> en C#
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme cela?
Bien sûr, ceci ne fonctionnera pas si les hypothèses ne sont pas respectées. Par exemple, un
IndexOutOfRangeException
pourrait être levée si le texte n'est pas dans le bon format et unArgumentException
sera levée si il y a des doubles des clés. Chacun de ces scénarios, il faudra des modifications. Si redondant espace blanc peut être présent, vous pouvez avoir besoin destring.Trim
appels que nécessaire.Mise à jour de l'Ani de prendre en compte le point virgule à la fin. La clause where sera de s'assurer que vous avez une clé et la valeur avant de la création et de l'entrée.
Voici l'impressionnant espace ignorant, correction de la dernière valeur de l'avoir ou ne pas avoir un point-virgule de la puissance des expressions régulières:
Mais sérieusement, Ani mérite d'accessoires pour la .ToDictionary(). Je n'aurais jamais pensé à ça.
Vous pouvez le faire à l'aide de chaîne JSON, par exemple:
Vous pouvez l'écrire comme ceci ou boucle sur elle pour le faire vous-même. De toute façon. En fin de compte, vous êtes fractionnement sur
;
pour obtenir l'élément paires, puis sur=
pour obtenir la clé et la valeur.Boucle version: