Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Khác biệt giữa String.Copy() và String.Clone() trong C#

String.Copy() tạo instance mới của String với nội dung giống hệt chuỗi chỉ định.

Ví dụ 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("Sau String.Copy...");
        str2 = String.Copy(str1);
        Console.WriteLine("str1 = '{0}'", str1);
        Console.WriteLine("str2 = '{0}'", str2);
    }
}

Kết quả

str1 = 'mark'
str2 = 'marcus'
Sau String.Copy...
str1 = 'mark'
str2 = 'mark'

String.Clone() trả về tham chiếu đến instance String.

Ví dụ 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("Sau String.Clone...");
        str2 = (String)str1.Clone();
        Console.WriteLine("str1 = '{0}'", str1);
        Console.WriteLine("str2 = '{0}'", str2);
    }
}

Kết quả

str1 = 'amy'
str2 = 'emma'
Sau String.Clone...
str1 = 'amy'
str2 = 'amy'