Ну самый примитив в лоб это проверить есть ли введённый текст цвета, если нет, то создать объект через конструктор без него.
Но лучше же, эту проверку затащить во второй конструктор, и там уже проверять, если цвет пустой, то - прочерк. А от первого конструктора избавиться.
Ну так правильно, у вас в namespace Console есть только класс Program. Никаких WriteLine я не вижу. Вы или не делайте одинаковых имён, либо явно указываете, что вам нужна консоль из пространства имён System System.Console
но полученные папки "для публикации" выходят совсем тяжёлыми - под 200 мегабайт для программки весом в 0,2 МБ!!!
Так в варианте с .NET Framework надо прежде скачать этот фреймворк на 400Мб и установить. Без него не будет работать. Поэтому утверждение, что программа весит 0.2Мб не верное.