Maison > développement back-end > C++ > Pourquoi le remplacement des chaînes ne fonctionne-t-il pas comme prévu en C #?

Pourquoi le remplacement des chaînes ne fonctionne-t-il pas comme prévu en C #?

Susan Sarandon
Libérer: 2025-01-28 19:41:12
original
976 Les gens l'ont consulté

Why Doesn't String Replacement Work as Expected in C#?

Comprendre l'immuabilité et le remplacement des cordes en C #

Lorsque vous travaillez avec des chaînes en C #, les développeurs rencontrent souvent un comportement inattendu lors de la tentative de remplacement des chaînes. Un scénario commun consiste à modifier les chemins de fichier, par exemple, la modification de "BindeBug" à "ResourcesPeople". Le problème découle de la caractéristique fondamentale des chaînes en C #: elles sont immuables.

Méthodes comme Replace() Ne modifiez pas la chaîne d'origine; Ils créent et renvoient une chaîne nouvelle contenant les remplacements. Cela signifie que le code suivant sera pas modifier path:

<code class="language-csharp">path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");</code>
Copier après la connexion

Pour atteindre le résultat souhaité, vous devez attribuer le résultat de Replace() à une variable:

<code class="language-csharp">string newPath = path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");</code>
Copier après la connexion

ou, plus concise:

<code class="language-csharp">path = path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");</code>
Copier après la connexion

Cela met explicitement à jour path avec la chaîne modifiée.

Rappelez-vous: la manipulation de la chaîne en C # génère toujours un nouvel objet String. Soyez conscient de cette immuabilité pour éviter les résultats inattendus et les problèmes potentiels de gestion de la mémoire, en particulier lorsque vous traitez des opérations de chaînes fréquentes ou à grande échelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal