I keep getting an unhandled exception
"Object reference not set to an instance of an object"
for the following code, specifically on the line temp.next = node. Can anyone help me figure out why?
The code below is a class for birds where the user inputs a name and the addBird method is suppose to add the name to the end of the linked list. 
 class BirdsSurve    {
    private Node first;
    public class Node
    {
        public string Name { get; set; }
        public  int count { get; set; }
        public Node next;
        public Node()
        {
            this.count = 1;
        }
        public void setNext(Node Next)
        {
            next = Next;
        }
        public int addCount()
        {
             count++;
            return count;
        }
    }
    public BirdsSurvey()
    {
        this.first = null;
    }
    public void addBird(string bird)
    {
        Node node = new Node();
        node.Name = bird;
        if (first == null)
        { first = node; }
        else
        {
           Node temp = first;
            while (temp != null)
            {
                if (temp.Name == bird)
                { temp.addCount(); }
                if (temp.next == null)
                {
                    temp = temp.next;
                    temp.next = node; }
               // temp = temp.next;
            }
        }
    }
 
     
    