В чем разница между методами System.Array.CopyTo() и System.Array.Clone()?
Этот вопрос проверяет знание методов для копирования массивов и их различий в C#.
Короткий ответ
CopyTo() копирует элементы из одного массива в другой, а Clone() создает новый массив, содержащий все элементы исходного массива.
Длинный ответ
В C# методы CopyTo() и Clone() предоставляют различные способы копирования данных из массива.
CopyTo():
- Копирует элементы из текущего массива в другой существующий массив.
- Требует, чтобы целевой массив уже был инициализирован.
Clone():
- Создает новый массив, который является полным дубликатом текущего массива.
- Возвращает новый объект массива того же типа.
Пример:
int[] originalArray = { 1, 2, 3 };
int[] copyArray = new int[3];
originalArray.CopyTo(copyArray, 0);
int[] clonedArray = (int[])originalArray.Clone();
Console.WriteLine(copyArray[0]); // Вывод: 1
Console.WriteLine(clonedArray[0]); // Вывод: 1В этом примере показано, как можно использовать CopyTo() для копирования в уже существующий массив и Clone() для создания нового массива.