Загрузка...

Переменные

Console.WriteLine(plant) пишет leaf, и на строке записи кавычек нет. Слово leaf стоит на строке хранения, под именем plant. До сих пор слово сидело между кавычками прямо на строке записи, поэтому другой экран значил правку этой строки. Кавычки переезжают на строку, которая хранит слово. Экран по‑прежнему показывает leaf. Публичный класс оставьте с именем Pine. SDK вы снова не устанавливаете.

Имя держит буквы

Откройте файл Pine. Имя класса остаётся Pine. Эта страница тип не переименовывает. Внутри Main, над строкой записи, добавьте строку, которая создаёт имя и кладёт в него слово: string plant = "leaf";. Ключевое слово string говорит, что это имя держит буквы. plant — имя, и оно начинается с маленькой p. Знак = сохраняет слово. В кавычках лежит leaf, все маленькими буквами — то же слово, что на прошлой странице стояло на строке записи. Точка с запятой заканчивает эту строку. Затем измените строку записи так, чтобы в ней больше не было кавычек. Она становится Console.WriteLine(plant);. Имя plant голое. Перед p кавычки нет и после t кавычки нет. Сохраните файл.

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

Сохраните эту учебную форму. Имя plant держит leaf. Строка записи использует это имя и не содержит кавычек.

the file you keep

csharp
using System;

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

Читайте сверху и решите, что экран может получить. using System; готовит короткие имена и экран не пишет. public class Pine называет тип. Экран не пишет. public static void Main() — место, где runtime начинает. Ни одно из этих слов не буквы для экрана. Следующая строка создаёт имя. string plant = "leaf"; сохраняет буквы l, e, a, f в имени plant. Эти буквы эта строка на экран не пишет. Хранение — не запись. Через эту строку экран остаётся пустым. Следующая строка, Console.WriteLine(plant);, — строка записи. C# читает имя plant, берёт буквы, которые оно держит, пишет их и заканчивает строку. Экран показывает leaf. Одна строка. Без кавычек. Буквы самого имени, plant, на экране не появляются. Console на экране нет. Точки с запятой на экране нет.

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

Строка хранения и строка записи

Держите две роли отдельно.

📊 Variable habits for plant

Line Job Screen
string plant = "leaf"; stores letters in the name nothing from this line
Console.WriteLine(plant); writes the letters the name holds leaf
Console.WriteLine("plant"); writes the quoted letters plant
plant = "stem"; replaces the stored letters nothing from this line alone

Меняйте слово, строку записи оставьте

Смысл имени в том, что строка записи может остаться на месте, а сохранённое слово — смениться. Под первой строкой записи сохраните новое слово в том же имени, затем снова запишите имя. Новая строка хранения — plant = "stem";. Она не начинается с string. plant уже существует, поэтому эта строка только заменяет буквы, которые имя держит. leaf сменяется на stem, все маленькими буквами. Следующая строка записи снова Console.WriteLine(plant);. Форма та же, что у первой строки записи. На экране теперь две строки, потому что каждый WriteLine заканчивает свою строку. Первая строка — leaf, из букв, которые имя держало в тот момент. Вторая — stem, из букв, которые имя держит после plant = "stem";.

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

the name changes between two lines

csharp
using System;

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

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

Не пишите string второй раз для того же имени. string plant = "stem"; под строкой, которая уже создала plant, — другая ошибка. Эта строка пытается создать plant снова. Сборка пишет ошибку и не молчит. Исправление — удалить второй string и оставить plant = "stem";. Имя создаётся один раз. Позже строки только меняют буквы, которые оно держит. В файле, который вы храните, второй строки хранения вообще нет.

Кавычки вокруг имени пишут имя

Строка записи в файле, который вы храните, — Console.WriteLine(plant); без кавычек. Если поставить кавычки вокруг имени, строка станет Console.WriteLine("plant");. Эти кавычки делают то же, что на прошлой странице. Они отмечают буквы для экрана. Буквы между ними — p, l, a, n, t. C# имя не ищет, потому что слово в кавычках — не имя. Имя plant всё ещё может держать leaf на строке выше, а экран всё равно показывает plant. Сохранённое слово leaf не пишется, потому что строка записи имя так и не использовала.

Это третий файл. Это не файл, который вы храните. Держите его достаточно долго, чтобы увидеть одну строку plant, затем снова снимите кавычки со строки записи.

the name written in quotes

csharp
using System;

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

Запустите dotnet run. Экран показывает plant. Одна строка. Без кавычек. Не leaf. Не stem. Если вы хотели leaf, строка записи должна быть голым именем Console.WriteLine(plant);. Кавычки принадлежат строке хранения, вокруг leaf, а не строке записи вокруг имени. Оставшиеся привычки Java String на этой странице сопоставьте с ключевым словом C# string. Маршруты ASP.NET с этой страницы не придумывайте.

Имя должно существовать раньше

C# читает файл сверху. Строка, которая создаёт имя, должна стоять выше строки, которая имя использует. Если сначала поставить Console.WriteLine(plant);, а только потом string plant = "leaf";, строка записи называет plant до того, как plant существует. Сборка пишет ошибку. Она не молчит. Пока сборка пишет ошибку, экрану доверять нельзя. Исправление — вернуть строку string выше строки записи.

Этот четвёртый файл — сломанный порядок. Это не файл, который вы храните. Держите его только пока сборка пишет ошибку, затем снова поставьте строку string сверху.

the name used before it exists

csharp
using System;

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

Экран — это слово, которое держит имя

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

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

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

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

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

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

📝 Инструкции

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