Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 String.Copy()와 String.Clone() 메서드의 차이점은 무엇입니까?

<시간/>

String.Copy() 메서드는 String의 새 인스턴스를 만듭니다. 지정된 문자열과 동일합니다.

다음은 Copy() 메서드의 예입니다 -

예시

using System;
class Demo {
   static void Main(String[] args) {

      string str1 = "mark";
      string str2 = "marcus";

      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);

      Console.WriteLine("After using String.Copy...");
      str2 = String.Copy(str1);

      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);
   }
}

출력

str1 = 'mark'
str2 = 'marcus'
After using String.Copy...
str1 = 'mark'
str2 = 'mark'

String.Clone() 메서드는 String 인스턴스에 대한 참조를 반환합니다. 다음은 Clone() 메서드의 예입니다 -

예시

using System;
class Demo {
   static void Main(String[] args) {
     
      string str1 = "amy";
      string str2 = "emma";

      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);

      Console.WriteLine("After using String.Clone...");
      str2 = (String)str1.Clone();

      Console.WriteLine("str1 = '{0}'", str1);
      Console.WriteLine("str2 = '{0}'", str2);
   }
}

출력

str1 = 'amy'
str2 = 'emma'
After using String.Clone...
str1 = 'amy'
str2 = 'amy'