Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 문자열을 다른 문자열로 복사하는 방법 총정리

C# 프로그래밍에서 한 문자열(String)의 값을 다른 문자열로 복사해야 하는 경우가 종종 있습니다. 이때 String.Copy() 메서드를 활용하면 간단하게 처리할 수 있습니다. 이 글에서는 기본 사용법부터 실전 예제까지 단계별로 살펴보겠습니다.

예제 1: 기본적인 문자열 복사

다음은 String.Copy() 메서드를 사용하여 문자열을 복사하는 가장 기본적인 코드입니다.

using System;
public class Demo {
   static public void Main(){
      string str1 = "Kevin";
      string str2 = String.Copy(str1);
      Console.WriteLine("String1 = "+str1);
      Console.WriteLine("String2 = "+str2);
  }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

String1 = Kevin
String2 = Kevin

원본 문자열 str1의 값이 그대로 새로운 문자열 str2에 복사된 것을 확인할 수 있습니다.

예제 2: 기존 변수에 문자열 복사하기

이번에는 이미 값이 할당되어 있는 문자열 변수에 다른 문자열을 복사하는 예제를 살펴보겠습니다.

using System;
public class Demo {
   static public void Main(){
      string str1 = "Maisie";
      string str2 = "Ryan";
      Console.WriteLine("String1 (복사 전) = "+str1);
      Console.WriteLine("String2 (복사 전) = "+str2);
      str2 = String.Copy(str1);
      Console.WriteLine("String1 = "+str1);
      Console.WriteLine("String2 (복사 후) = "+str2);
  }
}

출력 결과

실행 결과는 다음과 같습니다.

String1 (복사 전) = Maisie
String2 (복사 전) = Ryan
String1 = Maisie
String2 (복사 후) = Maisie

복사 전에는 str2에 "Ryan"이라는 값이 들어 있었지만, String.Copy(str1)을 실행한 후에는 "Maisie"로 대체된 것을 확인할 수 있습니다.

참고 사항: 최신 .NET 버전에서의 주의점

C#의 문자열은 불변(immutable) 객체이기 때문에, 실제로는 단순 대입(str2 = str1;)만으로도 동일한 결과를 얻을 수 있습니다. 특히 .NET Core 3.0 이상 및 .NET 5+ 환경에서는 String.Copy() 메서드가 더 이상 권장되지 않으며(obsolete), 컴파일 시 경고가 표시될 수 있습니다. 따라서 최신 프로젝트에서는 아래와 같이 작성하는 것이 좋습니다.

string str2 = str1;

두 방식 모두 결과적으로는 동일한 문자열 값을 가지게 되므로, 상황에 맞는 방법을 선택하여 사용하시면 됩니다.