Maison >développement back-end >C++ >Pourquoi «String.replace» ne modifie-t-il pas la chaîne d'origine dans .NET?

Pourquoi «String.replace» ne modifie-t-il pas la chaîne d'origine dans .NET?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-30 07:51:09420parcourir

Why Doesn't `string.Replace` Modify the Original String in .NET?

.NET String Operation Explication détaillée: Pourquoi

ne peut pas modifier la chaîne d'origine? string.Replace

Question: La méthode ne peut pas modifier la chaîne

Replace Dans le fragment de code suivant, la méthode

semble être incapable de modifier la chaîne:

string.Replace

Même si les paramètres sont efficaces, la chaîne reste inchangée.
<code class="language-csharp">string someTestString = "<a href=\"myfoldert/108716305-1.jpg\" target=\"_blank\">108716305-1.jpg</a>";
someTestString.Replace("108716305", "NewId42");</code>

Explication La chaîne dans

.NET est immuable, ce qui signifie que leur contenu ne peut pas être directement modifié. Lors de l'appel , il crée une nouvelle chaîne contenant la valeur de remplacement, plutôt que de modifier la chaîne d'origine.

Solution

Pour mettre à jour la chaîne, vous avez besoin: string.Replace

Stockez les résultats de dans une nouvelle variable:

  1. Si vous souhaitez observer le comportement de "String a été mis à jour", redémarrez la variable d'origine: string.Replace
<code class="language-csharp">var newString = someTestString.Replace(someID.ToString(), sessionID);</code>
Il convient de noter que cela convient à toutes les fonctions de fonctionnement de la chaîne dans .NET, telles que
    ,
  1. ,
  2. et
variantes, car elles renvoient toutes une nouvelle chaîne et ne fonctionnent pas la chaîne d'origine.
<code class="language-csharp">someTestString = someTestString.Replace(someID.ToString(), sessionID);</code>

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!

Déclaration:
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