Inne działy

 

 

C# kopiowanie i klonowanie

 

Opiszemy różnicę między dwoma metodami. copy() i clone(). Metoda Copy()tworzy nową instancję ciągu tej samej wartości jako określony ciąg znaków. Metoda Clone()zwraca odniesienie do łańcucha, który jest sklonowany. To nie jest niezależna kopia ciąg na stercie. To jest inny punkt odniesienia na ten sam ciąg.

using System; 

public class CSharpApp
{
static void Main()
{
string str = "Blog Informatyczny";

string cloned = (string) str.Clone();
string copied = string.Copy(str);

Console.WriteLine(str.Equals(cloned)); // drukuje true
Console.WriteLine(str.Equals(copied)); // drukuje true

Console.WriteLine(ReferenceEquals(str, cloned)); // drukuje true
Console.WriteLine(ReferenceEquals(str, copied)); // drukuje false
}
}

Nasz przykład pokazuje różnicę pomiędzy tymi dwoma metodami.

string cloned = (string) str.Clone();
string copied = string.Copy(str);

Wartość ciągu jest sklonowana i kopiowana.

Console.WriteLine(str.Equals(cloned)); // drukuje true
Console.WriteLine(str.Equals(copied)); // drukuje true

Metoda Equals() określa, czy dwa obiekty tekstowe mają taką samą wartość. Zawartość wszystkich trzech łańcuchów jest taka sama.

Console.WriteLine(ReferenceEquals(str, cloned)); // drukuje true
Console.WriteLine(ReferenceEquals(str, copied)); // drukuje false

Metoda ReferenceEquals() porównuje dwa obiekty referencyjne. Dlatego porównując skopiowany tekst do oryginalnego ciągu zwraca false. Ponieważ są to dwa różne obiekty.

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.