На днях на семинаре по интерфейсам студент задал вопрос по изменению значений по ссылкам и изменению значений самих ссылок. Кода было много, поэтому записываю вопрос в упрощённом виде.
Есть код на C#:
Есть код на C#:
using System;
class Program {
static void Display(int[] ar, string name) {
Console.Write(name + ":");
foreach (int i in ar)
Console.Write(i + " ");
Console.WriteLine();
}
static void Main(string[] args) {
int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
Display(a, "a");
int[] b;
b = a;
Display(b, "b");
a[1] = 5; // изменили значение
Display(a, "a");
Display(b, "b");
b = new int[2]; // изменили ссылку
Display(a, "a");
Display(b, "b");
}
}
почему два последних вывода различны, если была команда b = new int[2]; ?
Комментариев нет:
Отправить комментарий