Пример реализации односвязного списка на C#, Не понятно откуда берется свойство Netx Объекта Head?
Когда список пуст, Current и Head равны null. После добавления первого элемента Current и Head являются одним и тем же объектом, а при добавлении второго срабатывает строчка Current.Next = node; - и в этот момент устанавливается Head.Next (поскольку Current и Head совпадают).
В самом начале
Head == null -> Head = node; Current = node. Current указывает на Head.
В следующей итерации Head != null -> Current(=Head).Next = node. Current переводится на node, которая строкой выше была присвоена в бывший на тот момент Current(=Head).Next.