Hello everyone, I am new to this forum. I have a sort of simple task to do with the C#, well it looks like it is not so simple. I have to create my own CLinearList that has only CNodeLong and CNodeString elements in it. I thought I could solve this like it is writtens down below but the code does not work, it compiles, it runs but nothing is written in console. I use Microsoft Visual Studio. I think I am lost because i don't know what else can I do with the code. If anyone can help me, I would appriciate it CODE: -------------------------------------------------------------------------------------------- Code: using System; using System.Collections.Generic; namespace Naloga2 { class CNode { private CNode next; public CNode getNext() { return next; } public void setNext(CNode input) { next = input; } public CNode() { next = null; } public virtual void Print() { } } class CNodeLong : CNode { private long vrednost; public long getVrednost() { return vrednost; } public void setVrednost(long input) { vrednost = input; } public CNodeLong() { } public CNodeLong(long val) { vrednost = val; } new public virtual void Print() { Console.WriteLine(vrednost); } } unsafe class CNodeString : CNode { private char* vrednost; public char* getVrednost() { return vrednost; } public void setVrednost(char* input) { if (vrednost != null) { vrednost = null; } vrednost = input; } public CNodeString() { } public CNodeString(char* val) { vrednost = val; } public virtual void print() { Console.WriteLine(*vrednost); } } class CLinearList { private CNode FirstElement; private CNode endElement; private CNode tmp; public void Add(CNodeLong input) { tmp = new CNodeLong(); tmp = input; endElement.setNext(tmp); endElement = endElement.getNext(); tmp = null; } public void Add(CNodeString input) { tmp = new CNodeString(); tmp = input; endElement.setNext(tmp); endElement = endElement.getNext(); tmp = null; } public CNode Get() { if (tmp != null) tmp = null; tmp = FirstElement; FirstElement = FirstElement.getNext(); tmp.setNext(null); return tmp; } public void Print() { tmp = FirstElement; while (tmp != null) { tmp.Print(); tmp = tmp.getNext(); } tmp = null; } public CLinearList() { FirstElement = new CNode(); endElement = new CNode(); tmp = null; } public CLinearList(CNode input) { FirstElement = new CNode(); FirstElement = input; tmp = null; } unsafe public static void Main(String[] args) { CLinearList seznam = new CLinearList(); seznam.Add(new CNodeLong(1234)); seznam.Add(new CNodeLong(53425)); seznam.Add(new CNodeLong(666)); seznam.Print(); seznam.Get(); seznam.Print(); //Console.WriteLine("Ole"); } } }