Присваивание ссылок на массивы

Присваивание значения одной переменной ссылки на массив другой переменной, по существу, означает, что обе переменные ссылаются на один и тот же массив, и в этом отношении массивы ничем не отличаются от любых других объектов. Такое присваивание не приводит ни к созданию копии массива, ни к копированию содержимого одного массива в другой.

//присваивание ссылок на массивы.

using System;

class AssignARef

{

static void Main()

{

int i;

int[] nums1 = new int[10];

int[] nums2 = new int[10];

for (i = 0; i < 10; i++) nums1[i] = i;

for (i = 0; i < 10; i++) nums2[i] = -i;

Console.Write("Содержимое массива nums1: ");

for (i = 0; i < 10; i++)

Console.Write(nums1[i] + " ");

Console.WriteLine();

Console.Write("Содержимое массива nums2: ");

for (i = 0; i < 10; i++)

Console.Write(nums2[i] + " ");

Console.WriteLine();

nums2 = nums1; //теперь nums2 ссылается на nums1

Console.Write("Содержимое массива nums2\n после присваивания: ");

for (i = 0; i < 10; i++)

Console.Write(nums2[i] + " ");

Console.WriteLine();

//далее оперировать массивом nums2 посредством

//переменной ссылки на массив nums2.

nums2[3] = 99;

Console.Write("Содержимое массива nums1 после изменения\n" +

"посредством переменной nums2: ");

for (i = 0; i < 10; i++)

Console.Write(nums1[i] + " ");

Console.WriteLine();

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: