ホームページ > バックエンド開発 > C++ > string.replaceがc#で私の文字列を変更しないのはなぜですか?

string.replaceがc#で私の文字列を変更しないのはなぜですか?

Patricia Arquette
リリース: 2025-01-28 19:21:09
オリジナル
308 人が閲覧しました

Why Doesn't String.Replace Modify My String in C#?

c#文字列の不変性とstring.replace()

C#開発者の一般的な混乱の原因は、String.Replace()メソッドの動作です。 多くの人が元の文字列を変更することを期待していますが、そうではありません。 これは、C#の文字列が不変だからです

"C:\Users\Desktop\Project\bin\Debug"に置き換えて"C:\Users\Desktop\Project\Resources\People"に変更したいとしましょう。 のような試み:"\bin\Debug" "\Resources\People"

  1. path.Replace(@"\bin\Debug", @"\Resource\People");
  2. path.Replace("\bin\Debug", "\Resource\People");
  3. は、元の
文字列を変更できません。 理由?

pathString.Replace()交換用の新しい文字列を返します。オリジナルは変更されません。

解決策:再割り当て正しく使用するには、返された変更された文字列を変数に割り当てる必要があります。 元の変数を上書きすることもできます:

String.Replace()

不変性を理解する

以上がstring.replaceがc#で私の文字列を変更しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート