recherche et remplacement d’un nœud d’arbre en C #

J’ai un arbre dans mon code C #. Je souhaite remplacer toutes les occurrences existantes d’un nœud d’arborescence par un texte différent dans l’ensemble de mon arborescence au clic d’un bouton.

Par exemple, j’ai 3 occurrences d’un nœud avec “Texte” comme “Manuel”. Je veux remplacer tous ces 3 nœuds par le texte “Automatique”. Le problème est que ces 3 nœuds sont sous 3 twigs différentes dans l’arborescence. Ils ne partagent pas le même nœud parent. J’ai l’intention d’écrire pour rendre ce processus automatique en écrivant une boucle for mais je ne comprends pas comment trouver les 3 nœuds requirejs en premier lieu.

Je suggère d’utiliser la récursivité.

Bien sûr, ceci est un exemple et vous auriez besoin de supprimer la déclaration myTree et d’utiliser votre arborescence, mais vous devriez commencer.

private void replaceInTreeView() { TreeView myTree = new TreeView(); ReplaceTextInAllNodes(myTree.Nodes, "REPLACEME", "WITHME"); } private void ReplaceTextInAllNodes(TreeNodeCollection treeNodes, ssortingng textToReplace, ssortingng newText) { foreach(TreeNode aNode in treeNodes) { aNode.Text = aNode.Text.Replace(textToReplace, newText); if(aNode.ChildNodes.Count > 0) ReplaceTextInAllNodes(aNode.ChildNodes, textToReplace, newText); } } }