Не изменяются данные при передаче в функцию с параметром 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 + " ");
}
}