В C# базовые типы данных, такие как bool и long, являются типами значений. Это означает, что если вы объявите переменную bool и присвоите ей значение другой переменной bool, у вас будет два отдельных значения bool в памяти. Позже, если вы измените значение исходной переменной bool, значение второй переменной bool не изменится. Эти типы копируются по значению. (Знак из profestional C# 5.0 Nagel, Christan, Глинн, Джей, Skinner, Морган), пытаясь понять это: переменные bool являются типами значений в C#
так что если мы имеем класс следующим образом:
public class Tutorial()
{
public bool param1;
}
, а затем в главном классе мы следующее:
Tutorial x, y;
x = new Tutorial();
x.param1 = false;
y=x;
Console.WriteLine(y.param1);
y.param1 = true;
Console.WriteLine (x.param1);
результат показывает false
то true
мой вопрос не должен распечатать false
false
?? как упоминалось в тексте, я вставляю в начало?
Нет, потому что у есть х (ссылочный тип) – Steve
здесь хорошее объяснение для вас @moji Http: //www.csharp-station.com/Tutorial/CSharp/Lesson02 – MethodMan
'Tutorial' не является логическим, это нестандартный класс. Ваш образец кода не отражает описание. – David