Из-за двоичного числа c продвижения , происходящего с использованием предопределенного оператора +
в prime + '\n'
, оба операнда будут преобразованы в тип int
. Второй операнд, '\n'
, становится 10
при преобразовании в int
. Таким образом, ваше выражение имеет эффект добавления 10
к каждому значению prime
, как если бы вы написали ...
Console.WriteLine(prime + 10);
Поскольку вы используете Visual Studio, есть пара быстрых способы наблюдать, какие решения принимает компилятор. Во-первых, наведите курсор мыши на оператор +
, который показывает это всплывающее окно IntelliSense QuickInfo ...

Там вы видите, что выполняется добавление int
, которое занимает два int
с и возвращает int
. Другой - навести указатель мыши на WriteLine
, что показывает это всплывающее окно QuickInfo ...
Там вы можете видеть, что он выбирает перегрузку Console.WriteLine()
, которая принимает один int
параметр, потому что результатом prime + '\n'
является int
.
Также обратите внимание, что вам не нужно добавлять '\n'
при вызове WriteLine()
(выделение Line
) потому что это сделано для вас. Сравните этот метод с Console.Write()
.