c#
の文字列の不変性と交換を理解するC#で文字列を使用すると、開発者は文字列置換を試みるときに予期しない動作に遭遇することがよくあります。 一般的なシナリオでは、ファイルパスを変更するなど、たとえば「バインド」を「ResourcesPeople」に変更します。 問題は、C#の文字列の基本的な特徴に由来しています。それらは不変です。
のようなメソッドは、元の文字列を変更しないでください。それらは、交換を含む newReplace()
文字列を作成して返します。 これは、次のコードが Notを変更しないことを意味します
希望の結果を達成するには、path
の結果を変数に割り当てる必要があります。
<code class="language-csharp">path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");</code>
Replace()
<code class="language-csharp">string newPath = path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");</code>
覚えておいてください:C#での文字列操作は常に新しい文字列オブジェクトを生成します。 特に頻繁または大規模な文字列操作を扱う場合、予期しない結果や潜在的なメモリ管理の問題を回避するために、この不変性に注意してください。
以上がC#で弦の交換が期待どおりに機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。