sayi1 принемает значения sayi2 не могу понять почему. Вроде бы sayi2 = sayi1 то есть в sayi2 перекидываются значения sayi1 но потом когда sayi2 = 5 и это же значение присваевается и к sayi1. ответ этой программы 5 5 6 7
class Sayi
{
public int Deger { get; set; }
}
class Program
{
static void Main(string[] args)
{
Sayi sayi1 = new Sayi();
sayi1.Deger = 4;
Sayi sayi2 = sayi1;
sayi2.Deger = 5;
int sayi3 = new int();
sayi3 = 6;
int sayi4 = sayi3;
sayi4 = 7;
Console.WriteLine(sayi1.Deger + “ ” +sayi2.Deger);
Console.WriteLine(sayi3 +“ ” +sayi4);
}
}
В C# существуют две разновидности типов: ссылочные типы и типы значений. В переменных ссылочных типов хранятся ссылки на их данные (объекты), а переменные типа значений содержат свои данные непосредственно. Две переменные ссылочного типа могут ссылаться на один и тот же объект, поэтому операции над одной переменной могут затрагивать объект, на который ссылается другая переменная. Каждая переменная типа значения имеет собственную копию данных, и операции над одной переменной не могут затрагивать другую (за исключением переменных параметров out и ref, см. разделы ref и Модификатор параметров out).
https://msdn.microsoft.com/ru-ru/library/490f96s2.aspx
Происходит создание ссылки sayi2 на sayi1. Они ведут на одни и те же данные.
Sayi sayi2 = sayi1;
Для того чтобы создать несвязанную копию нужно использовать new
Sayi sayi2 = new Sayi(sayi1);
int не является ссылочным типом.
int sayi4 = sayi3;
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости