Sobes.tech
Junior — Middle

Care este diferența dintre metodele Clone() și CopyTo() atunci când se copiază obiecte?

sobes.tech AI

Răspuns de la AI

Метод Clone() обычно используется для создания нового объекта, который является копией исходного. Он возвращает новый объект с таким же состоянием. В C# Clone() часто реализуется через интерфейс ICloneable.

Метод CopyTo() чаще встречается в коллекциях и массивах и предназначен для копирования содержимого текущего объекта (например, массива) в другой массив, начиная с указанного индекса. Он не создает новый объект, а копирует данные в уже существующий.

Пример:

// Clone создает новый объект
var original = new List<int> {1, 2, 3};
var clone = original.ToList(); // аналог Clone

// CopyTo копирует элементы в существующий массив
int[] array = new int[3];
original.CopyTo(array, 0);

Итого:

  • Clone() создает новый объект-копию.
  • CopyTo() копирует данные в существующий объект.