Копия структуры меняется при изменении оригинала - C#

Узнай цену своей работы

Формулировка задачи:

Есть структура. Хочу сделать ее резервную копию, создаю структуру такого же типа и присваиваю ей значение первоночальной структуры. Далее провожу действие, которое меняет первоночальную структуру, однако, при проверке, обнаруживается, что "резервная" структура тоже меняется. Структура же не ссылочный тип, почему так происходит?
           Field field = new Field();
           field.Create();
           ..... 
 
            Field field2 = field;
            field.smthfunc(...);

Решение задачи: «Копия структуры меняется при изменении оригинала»

textual
Листинг программы
        struct MyStruct
        {
            public void Init()
            {
                bar = 0;
            }
 
            public int bar;
        }
 
        static void Main(string[] args)
        {
            MyStruct a, b;
            a = new MyStruct();
            a.Init();
            a.bar = 0;
            b = a;
            a.bar = 2;
            Console.WriteLine("{0} \t{1}", a.bar, b.bar);
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы