>백엔드 개발 >C++ >c# string.replace ()가 원래 문자열을 수정하는 이유는 무엇입니까?

c# string.replace ()가 원래 문자열을 수정하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-28 19:27:11196검색

Why Doesn't C# String.Replace() Modify the Original String?
C# 문자열 불변성 및

메서드 이해 C#의 문자열 조작은 때때로 까다로울 수 있습니다. 일반적인 함정에는

방법과 원래 문자열을 수정할 것으로 기대합니다. 이 문제를 살펴 보겠습니다. 이 코드 스 니펫을 고려하십시오 Replace() 메소드

는 원본을 변경하지 않습니다. 왜? C#의 문자열은 Replace() 불변이기 때문에 입니다. 이것은 창조 후에 변경 될 수 없다는 것을 의미합니다. 대신

메소드는 대체품으로 새 문자열

를 반환합니다. 원하는 결과를 얻으려면 반환 된 문자열을 변수에 할당해야합니다.
<code class="language-csharp">string path = "C:\Users\Desktop\Project\bin\Debug";
path.Replace(@"\bin\Debug", @"\Resource\People");
Console.WriteLine(path); // Output: C:\Users\Desktop\Project\bin\Debug (Unchanged!)</code>
또는 원래 변수를 직접 덮어 쓸 수 있습니다

기억 : C# 문자열은 불변입니다. 문자열을 수정하는 것처럼 보이는 모든 작업은 실제로 새 문자열 객체를 만듭니다. 이를 염두에 두는 것은 효율적이고 올바른 C# 코드를 작성하는 데 중요합니다.

위 내용은 c# string.replace ()가 원래 문자열을 수정하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.