Как правило, когда аргумент (не имеет значения, является ли строка или какой-либо другой тип) обязательным для выполнения чего-либо, метод обычно завершается с исключением, если этот аргумент равен нулю.
Пара примеров:
- Файлы .. не может открыть "нулевой" файл, поэтому -> ошибка.
- Parse -> не может разобрать "null", поэтому -> error. (Да, они добавили TryParse в 2.0)
С другой стороны, когда аргумент не требуется, метод обычно "глотает лягушку", когда он нулевой, и обрабатывает его как некоторое значение по умолчанию, например, пустую строку.
В случае метода WriteLine объекта Console на самом деле не нужна строка, он просто записывает ее в консоль, поэтому ему все равно, является ли она нулевой.
Так что, как говорили другие, это зависит от того, какой метод вы пытаетесь использовать, и вам лучше прочитать, прежде чем пытаться передать нулевые значения.