> 백엔드 개발 > C++ > String.place가 C#에서 내 문자열을 수정하지 않는 이유는 무엇입니까?

String.place가 C#에서 내 문자열을 수정하지 않는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-28 19:21:09
원래의
308명이 탐색했습니다.

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

C# 문자열 불변성 및 String.replace ()

C# 개발자의 공통적 인 혼란 원인은 방법의 동작입니다. 많은 사람들이 원래 문자열을 수정할 것으로 기대하지만 그렇지 않습니다. C#의 문자열은 불변이기 때문입니다 를 로 바꾸어 로 로 변경하고 싶다고 가정 해 봅시다. 시도 :

String.Replace()

"C:\Users\Desktop\Project\bin\Debug" 는 원래 문자열을 변경하지 못합니다. 이유? returns "C:\Users\Desktop\Project\Resources\People" 교체가있는 새 문자열을 반환합니다. 원본을 바꾸지 않습니다. "\bin\Debug" 솔루션 : 재 할당 "\Resources\People" 를 올바르게 사용하려면

를 올바르게 사용하려면 반환 된 수정 문자열을 변수에 할당해야합니다.
    원래 변수를 덮어 쓸 수도 있습니다
  1. path.Replace(@"\bin\Debug", @"\Resource\People"); 불변성 이해
  2. 이 행동은 C#의 현의 기본 불변성에서 비롯됩니다. 문자열을 수정하는 것처럼 보이는 모든 작업은 실제로 새 문자열 객체를 만듭니다. 이것은 모든 문자열 메소드에 적용되어 메모리 관리에 영향을 미칩니다. C# 문서는이 특성을 명확하게 나타냅니다. 예상치 못한 결과를 피하기 위해 문자열로 작업 할 때 이것을 기억하십시오. path.Replace("\bin\Debug", "\Resource\People");

위 내용은 String.place가 C#에서 내 문자열을 수정하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿