public link_list_t <T> Add(T item) { if (!_Item.HasValue) { _Item = item; return(this); } else { for (var ll = this; ; ll = ll.Next) { if (ll.Next == null) { var next = new link_list_t <T>(item); ll.Next = next; return(next); } } } }
public void AddRange(link_list_t <T> list) { if (list.IsEmpty) { return; } if (!_Item.HasValue) { _Item = list._Item; Next = list.Next; } else { for (var ll = this; ; ll = ll.Next) { if (ll.Next == null) { ll.Next = list; return; } } } }