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

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

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

Добрый день. Такая ситуация:
Листинг программы
  1. // Структура дерева
  2. public struct BTree
  3. {
  4. public int t; // минимальная степень дерева
  5. public Node root; // указатель на корень дерева
  6. }
  7. // Структура узла
  8. public struct Node
  9. {
  10. public bool leaf; // является ли узел листом
  11. public int n; // количество ключей узла
  12. public int [] key // ключи узла
  13. {
  14. get
  15. {
  16. return new int[3]{-1,-1,-1};
  17. }
  18. }
  19. public Node[] c // указатели на детей узла
  20. {
  21. get
  22. {
  23. return new Node[4];
  24. }
  25. }
  26. }
  27. // Создание корня дерева
  28. public BTree CreatRoot(int key0)
  29. {
  30. BTree X = new BTree();
  31. X.root.leaf = true;
  32. X.root.n = 1;
  33. X.root.key[0] = key0;
  34. X.t = 3;
  35. return X;
  36. }
  37. // Корень B-дерева
  38. BTree root = new BTree();
  39. root = CreatRoot(records[0].Key);
records это объект типа List <Record> содержит пару Key,Value. records[0].Key принимает значение типа int при выполнении метода CreatRoot(int key) на строке
Листинг программы
  1. X.root.key[0] = key;
ничего не происходит, хотя переменная key имеет int значение. Почему так может происходить?

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

textual
Листинг программы
  1.         // Структура дерева
  2.         public class BTree
  3.         {
  4.             public int t;                // минимальная степень дерева
  5.             public Node root{get;set;}   // указатель на корень дерева
  6.  
  7.             public BTree()
  8.             {
  9.                 this.root = new Node();
  10.             }
  11.         }
  12.        
  13.         // Структура узла
  14.         public class Node
  15.         {
  16.  
  17.             public bool leaf {get; set;}   // является ли узел листом
  18.             public int n {get; set;}       // количество ключей узла
  19.             public int[] key {get; set;}   // ключи узла
  20.             public Node()
  21.             {
  22.                 this.key=new int[3];
  23.                 this.key[0] = new int();
  24.                 this.key[1] = new int();
  25.                 this.key[2] = new int();
  26.             }
  27.            
  28.         }

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


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

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

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы