Array.Clone() и передача объектов по ссылке - разобрать код - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Возникла маленькая проблема. На сколько мне известно функция clone используется для создания неполной копии объекта Array.Неполная копия содержит только элементы массива, как ссылочного типа, так и типа значения.Однако она не содержит объекты, на которые указывает ссылка.Ссылки в новом объекте Array указывают на те же объекты, что и ссылки в исходном объекте Array. Но в приведенном коде
            byte[] array1 = new byte[10];
            for (int i = 0; i < array1.Length; i++)
                array1[i] = 123;
            byte[] array2 = (byte[])array1.Clone();
            array2[0] = 122;
            Console.WriteLine(array1[0]);
Выводит 123, хотя должно выводить 122. Не могу понять причину. Помогите кто чем может.

Решение задачи: «Array.Clone() и передача объектов по ссылке - разобрать код»

textual
Листинг программы
byte[] array1 = new byte[3] {1, 2, 3};
 
byte[] array2 = new byte[array1.Length];
for (int i=0; i<array1.Length; i++) {
   array2[i] = array1[i];
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы