Не изменяются данные при передаче в функцию с параметром ref - C#
Формулировка задачи:
есть класс
есть функция
делаю так
на экране 1,2,3,4,5. Почему?? поидее должно быть 2,3,4,5. Я не прав?
class MyNode { public int Data; public MyNode(int data) { Data = data; } public MyNode Next { get; set; } public override string ToString() { return String.Format("Data = {0}",Data); } }
private static void Test(ref MyNode[] list) { var current = list[0]; while (current!=null) { current = current.Next; } }
MyNode[] list = { new MyNode(1), new MyNode(2), new MyNode(3), new MyNode(4), new MyNode(5) }; for (int i = 0; i < list.Count() - 1; i++) { list[i].Next = list[i + 1]; } Test(ref list);
Решение задачи: «Не изменяются данные при передаче в функцию с параметром ref»
textual
Листинг программы
static void Main() { var list = new MyNode(1){Next = new MyNode(2){Next = new MyNode(3){Next = new MyNode(4){Next = new MyNode(5)}}}}; Test(list); } private static void Test(MyNode list) { var node = list; while ((node = node.Next) != null) { Console.Write(node.Data + " "); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д