Не меняется значение поля - C#

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

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

Добрый день. Такая ситуация:
        // Структура дерева
        public struct BTree
        {
            public int  t;      // минимальная степень дерева
            public Node root;   // указатель на корень дерева
        }
        
        // Структура узла
        public struct Node
        {
            public bool leaf;  // является ли узел листом
            public int n;      // количество ключей узла
            public int [] key   // ключи узла
            {
                get 
                {
                    return new int[3]{-1,-1,-1};
                }
            }
            public Node[] c   // указатели на детей узла
            {
                get 
                {
                    return new Node[4];
                }
            }
        }
 
        // Создание корня дерева
        public BTree CreatRoot(int key0)
        {
            BTree X = new BTree();
            X.root.leaf = true;
            X.root.n = 1;
            X.root.key[0] = key0;
            X.t = 3;
            return X;
        }
 
            // Корень B-дерева
            BTree root = new BTree();
            root = CreatRoot(records[0].Key);
records это объект типа List <Record> содержит пару Key,Value. records[0].Key принимает значение типа int при выполнении метода CreatRoot(int key) на строке
X.root.key[0] = key;
ничего не происходит, хотя переменная key имеет int значение. Почему так может происходить?

Решение задачи: «Не меняется значение поля»

textual
Листинг программы
        // Структура дерева
        public class BTree
        {
            public int t;                // минимальная степень дерева
            public Node root{get;set;}   // указатель на корень дерева
 
            public BTree()
            {
                this.root = new Node();
            }
        }
        
        // Структура узла
        public class Node
        {
 
            public bool leaf {get; set;}   // является ли узел листом
            public int n {get; set;}       // количество ключей узла
            public int[] key {get; set;}   // ключи узла
            public Node()
            { 
                this.key=new int[3];
                this.key[0] = new int();
                this.key[1] = new int();
                this.key[2] = new int();
            }
            
        }

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


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

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

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