Метод Clone
Метод Clone класса
Array
создаёт новый массив той же формы и копирует
в него значения элементов. Возвращается object,
поэтому результат приводят к нужному типу
массива. Исходный массив не меняется.
Синтаксис
object copy = array.Clone();
T[] copy = (T[])array.Clone();
Пример
Давайте скопируем массив чисел:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
int[] copy = (int[])nums.Clone();
Console.WriteLine(string.Join(" ", copy));
}
}
Результат выполнения кода:
"1 2 3 4 5"
Пример
Давайте изменим копию и проверим оригинал:
using System;
class Program
{
static void Main()
{
int[] nums = {1, 2, 3, 4, 5};
int[] copy = (int[])nums.Clone();
copy[0] = 9;
Console.WriteLine(nums[0]);
Console.WriteLine(copy[0]);
}
}
Результат выполнения кода:
1
9
Пример
Давайте скопируем массив строк:
using System;
class Program
{
static void Main()
{
string[] items = {"a", "b", "c", "d", "e"};
string[] copy = (string[])items.Clone();
Console.WriteLine(copy[2]);
}
}
Результат выполнения кода:
"c"
Смотрите также
-
метод
Copy,
который копирует участок в другой массив -
метод
Resize,
который меняет длину одномерного массива -
метод
AsReadOnly,
который даёт обёртку только для чтения -
свойство
Length,
которое совпадает у копии и оригинала