Загрузка...

Вывод

Смените слово между кавычками — и экран сменится вместе с ним. Учебный тип по‑прежнему Pine, а вызов записи по‑прежнему Console.WriteLine. В прошлый раз в кавычках было pine, поэтому экран был pine. Поставьте другое слово между теми же кавычками, добавьте вторую строку записи и затем посмотрите, что делает экран, когда строка записи не заканчивает строку. Вы снова не устанавливаете SDK. Заметки с прошлой страницы в этой демонстрации нет, пока вы сами не вернёте их.

Слово между кавычками

Откройте файл Pine и найдите Console.WriteLine("pine");. Экран показывает слово между кавычками. Сами кавычки — не буквы для экрана. Они отмечают, где это слово начинается и где заканчивается. Смените слово. Остальную часть строки оставьте как есть: Console.WriteLine остаётся, открывающая кавычка остаётся, закрывающая кавычка остаётся, точка с запятой остаётся. Меняются только буквы между кавычками. Там, где в файле было pine, напишите leaf, все маленькими буквами. Строка теперь Console.WriteLine("leaf");. Сохраните файл. Имя класса по‑прежнему Pine, потому что строка public class Pine всё ещё называет тип. Эта страница тип не переименовывает.

Файл, который вы храните

Сохраните эту учебную форму. В ней одна строка записи, и между кавычками в ней стоит leaf. В этом файле нет заметки. Второй строки записи пока нет.

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine("leaf");
    }
}

Читайте сверху и решите, что экран может получить. Строка using System; готовит короткие имена и экран не пишет. Строка класса — public class Pine. Она называет тип. Экран не пишет. Следующая строка — public static void Main(). Здесь runtime начинает. Ни одно из этих слов не буквы для экрана. Внутри Main одна команда: Console.WriteLine("leaf");. Console.WriteLine — команда записи. В кавычках стоит leaf. Точка с запятой заканчивает команду. Runtime выполняет эту команду, потому что она внутри Main и не стоит за //. Экран получает leaf. Он не получает кавычки, точку с запятой, слово Console или слово Main.

Запустите через dotnet run в папке проекта. Экран показывает leaf. Одна строка. Без кавычек. Без точки с запятой. Слова pine на экране нет, потому что pine больше не между кавычками. Если экран всё ещё показывает pine, в кавычках всё ещё pine. Перед следующим запуском посмотрите на буквы между кавычками. Вы не переустанавливаете .NET SDK из‑за экрана, который всё ещё говорит pine.

Экран копирует буквы между кавычками так, как они есть. Console.WriteLine("Leaf"); пишет Leaf с большой L. Console.WriteLine("leaf"); пишет leaf с маленькой l. Файл, который вы храните, использует маленькую l, поэтому его экран — leaf, а не Leaf. Пробел тоже буква, которую экран может показать, если вы наберёте пробел внутри кавычек. Console.WriteLine("leaf stem"); пишет одну строку leaf stem с тем пробелом, который вы поставили между двумя словами. Кавычки по‑прежнему не появляются. Это одна строка записи, значит одна строка экрана, даже если внутри два слова. Пустая пара кавычек — другое дело. Console.WriteLine(""); пишет строку без букв и затем заканчивает её. Экран выглядит пустым. Команда всё же выполнилась. В кавычках просто ничего не было. Эта пустая строка — не файл, который вы храните. В файле, который вы храните, стоит leaf.

Вторая строка

Одна строка записи даёт одну строку экрана. Вторая строка экрана нужна вторая строка записи. Под Console.WriteLine("leaf"); добавьте Console.WriteLine("stem");. У каждой команды свои кавычки и своя точка с запятой. leaf остаётся в первой паре кавычек. stem, все маленькими буквами, идёт во вторую пару. Runtime выполняет первую команду, заканчивает ту строку, затем выполняет вторую команду и заканчивает и её. Порядок экрана — порядок файла. Команда, которую вы написали первой, — строка, которую экран показывает первой.

Это второй файл. Вы смотрите на две строки экрана. Файл, который вы хранили, имел одну строку записи, и экран был leaf. У этого — две строки записи. Используйте его, когда хотите увидеть этот экран, затем верните одну строку записи, если хотите файл, который хранит эта страница.

two lines, leaf then stem

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine("leaf");
        Console.WriteLine("stem");
    }
}

Запустите dotnet run. Экран показывает leaf, а следующая строка экрана — stem. Две строки. leaf сверху, потому что Console.WriteLine("leaf"); — первая команда записи. stem под ним, потому что Console.WriteLine("stem"); — вторая. Кавычек ни на одной строке нет. Если stem сверху, а leaf снизу, две строки записи в файле стоят в том же переставленном порядке. Экран сам порядок не выбирает. Верните команду stem под команду leaf, сохраните и запустите снова. Для второй строки не нужен новый вид команды. Нужен второй Console.WriteLine со своим словом между своими кавычками.

Write не заканчивает строку

Посмотрите на конец команды записи, которой вы пользовались. WriteLine заканчивается буквами Line. Эти буквы — конец строки. Команда пишет буквы между кавычками и затем заканчивает строку, поэтому следующая команда записи начинается на новой строке. Write — тот же помощник записи без этих букв. Console.Write("leaf"); пишет leaf и строку не заканчивает. Следующий Console.Write начинается там, где это слово остановилось. Ничто в команде не вставляет пробел за вас. Если в первой паре кавычек leaf, во второй — stem, и ни в одной нет пробела, экран показывает leafstem одной строкой.

Это третий файл. Это не файл, который вы храните. Держите его достаточно долго, чтобы увидеть одну строку leafstem. Обе команды — Write, не WriteLine. Внутри ни одной пары кавычек нет пробела.

one line, leafstem

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.Write("leaf");
        Console.Write("stem");
    }
}

Запустите dotnet run. Экран показывает leafstem. Одна строка. Без пробела между leaf и stem. Без кавычек. leaf по‑прежнему первым, потому что Console.Write("leaf"); — первая команда, а stem приклеен после него, потому что Console.Write("stem"); не начинает новую строку. Если вы видите leaf, а затем stem на второй строке, команды в файле — WriteLine, не Write. Буквы Line всё ещё на команде, поэтому каждая команда закончила свою строку. Уберите Line с обеих команд, если экран, который вы хотите, — одно слово leafstem.

Программа пишет leafstem и заканчивается, не закончив строку. Терминал может нарисовать своё приглашение на той же строке, после leafstem. Приглашение принадлежит терминалу. Это не слово из файла Pine и не часть строки, которую вы проверяете. Проверьте буквы между кавычками: leafstem. Не пытайтесь подогнать приглашение. Windows и macOS рисуют разные приглашения, и эта страница те приглашения не учит. Строка программы на обоих одна: leafstem, без конца строки после неё.

Пробел должен быть внутри кавычек

Если на той же строке нужен пробел, пробел должен быть одной из букв между кавычками. Команда записи его не изобретёт. Смените первую команду на Console.Write("leaf "); с пробелом после f, всё ещё внутри кавычек. Вторую команду оставьте Console.Write("stem");. C# пишет leaf, затем пишет пробел, который вы поставили после f, затем пишет stem и по‑прежнему не заканчивает строку. Экран показывает leaf stem. Пробел, который вы видите, — тот пробел, что был внутри первых кавычек. Пробел, набранный вне кавычек, между двумя командами, — только промежуток в файле. Это не буква для экрана. Вы можете разнести две команды на две строки в файле или поставить между ними пустую строку — экран всё равно одна строка. Переносы в файле — не концы строк на экране. Только команда с концом строки, WriteLine, заканчивает строку экрана. Write никогда этого не делает, как бы файл вокруг неё ни был расставлен.

Ошибка, которая убирает кавычки

Слово, которое показывает экран, должно сидеть между кавычками. Ошибка — удалить кавычки и оставить слово голым: Console.WriteLine(leaf);. leaf без кавычек — не слово для экрана. C# читает его как имя, а в этом файле такого имени ещё нет. Следующая страница — про имена. Эта страница останавливается на кавычках. Держите эту четвёртую форму только достаточно долго, чтобы увидеть, что сборка не остаётся тихой, затем верните кавычки. Это не файл, который вы храните.

the quotes removed

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine(leaf);
    }
}

Запустите dotnet run или соберите проект. На этот раз компилятор пишет ошибку. Он не остаётся тихим. Файл не в порядке, потому что у leaf нет кавычек и в этом файле ещё нет смысла. Вам не нужны точные слова той ошибки. Полезный факт — что сборка вообще написала строку. Когда сборка пишет ошибку, новой строке экрана нельзя доверять, пока файл снова не в порядке. Верните кавычки, чтобы строка снова стала Console.WriteLine("leaf");. Сохраните. Запустите снова. Теперь сборка достаточно тиха, чтобы запуститься, и экран показывает leaf. Кавычки были всем ремонтом. Вы не переустанавливаете SDK и не убираете строку записи. Строка записи без кавычек — не пустой экран от заметки. Заметка оставила бы сборку тихой. Эта ошибка заставляет компилятор говорить. Оставшиеся привычки Java с System.out.println сопоставьте здесь с Console.WriteLine, а System.out.print — с Console.Write. Придумывание маршрутов ASP.NET держите вне этой страницы.

Экран — это слово в кавычках

Теперь вы можете менять экран, меняя буквы между кавычками. Console.WriteLine("leaf"); пишет leaf и заканчивает строку. Второй Console.WriteLine пишет следующую строку в том порядке, в каком вы написали команды в файле. Console.Write пишет свои буквы и не заканчивает строку, поэтому следующий Write продолжается на той же строке, а пробел появляется только когда вы ставите его внутри кавычек. Если сборка пишет ошибку на голом слове, кавычек не хватает. Когда закончите смотреть на leafstem, верните файл к тому, который храните. Строка записи в файле, который вы храните, — Console.WriteLine("leaf");, и второй строки записи нет. Следующая страница даёт слову имя, чтобы строка записи могла использовать это имя вместо только слова в кавычках.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
7
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху