Pierwszy błąd sugeruje, że obiekt adres jest nullem.
Drugie nie działa, bo z konsoli wczytywany jest zawsze obiekt typu String. Polecam popracować nad debugowaniem :P. Nie znam C# a to wykombinowałem, wystarczy wypisać Console.ReadLine().GetTypeCode() i widzisz, że zawsze wypisuje String niezależnie czy wpiszesz dupa 1 czy 69.69.
Żeby osiągnąć w drugim kodzie to co próbowałeś trzeba by było wpisać w google "check if String is digit C#" i skopiować pierwszy kod :D, np:
int n;
bool isNumeric = int.TryParse("123", out n);