Я нашел следующий фрагмент кода во время поиска по боксу и распаковке в C#.boxing unboxing
class TestBoxing
{
static void Main()
{
int i = 123;
// Boxing copies the value of i into object o.
object o = i;
// Change the value of i.
i = 456;
// The change in i does not effect the value stored in o.
System.Console.WriteLine("The value-type value = {0}", i);
System.Console.WriteLine("The object-type value = {0}", o);
}
}
/* Output:
The value-type value = 456
The object-type value = 123
*/
А здесь он говорит, что несмотря на то, что он значение I изменяется величина O остается same.If так, то о ссылаются на значение «123», а не i.Is это так? Если о хранящемся значение i, то при изменении значения I значение o также изменилось бы. Пожалуйста, поправьте меня, если я ошибаюсь.
'// Бокс копирует значение –
Вам нужно различать тип значения и ссылочный тип. Тип значения всегда копируется при назначении, если вы не используете ключевое слово ref или out при переходе в метод. Типы ссылок не получают копии, но указывают на. –