Загрузка...

Массивы

string[] plants = { "leaf", "mint" }; хранит два слова под одним именем, а Console.WriteLine(plants[0]) пишет leaf. На экране одна строка. mint на этой строке нет, и второй строки нет. Публичный класс оставьте с именем Pine.

Одно имя — два слова

Откройте файл Pine. Класс по-прежнему называется Pine. На этой странице вы не переименовываете тип. Удалите string plant = null, если эта строка ещё есть. Удалите plant.Length. Удалите int count, если она осталась, вместе с (int), 40.0, 40.9 и 40. Удалите double weight, если он ещё есть. Удалите bool ripe, если он ещё есть, вместе с true и false. Удалите любую строку с ReadLine. В файле, который вы оставляете, нет ожидания ввода, нет count, weight, ripe и одиночного plant с null. Слово на экран попадает только из строки записи, где выбирается ячейка.

Внутри Main строка хранения — string[] plants = { "leaf", "mint" };. string[] — это слово типа. Квадратные скобки — часть этого типа. Они говорят, что это имя может держать больше одного слова. plants — имя, оно начинается с маленькой p. Знак = сохраняет. Фигурные скобки держат слова. Каждое слово в своих кавычках. Между словами стоит запятая. leaf — первое слово. mint — второе. Точка с запятой заканчивает строку. Эта строка сохраняет два слова. Она не пишет на экран. Хранение — это не запись. До конца этой строки экран остаётся пустым. Эти два слова — не число 0 и не слово null. Ничего не ждёт вне экрана под вторым именем. Оба слова под plants.

Слова внутри фигурных скобок — это ячейки. Два слова в кавычках дают две ячейки. В файле, который вы оставляете, третье слово не придумывайте. string[] plants = { "leaf", "mint", "stem" }; хранит три слова. Такой файл допустим, но это не ваш рабочий файл. string[] plants = { leaf, mint }; читает leaf и mint как имена. В этом файле таких имён нет. Build пишет ошибку. string[] plants = { "leaf" "mint" }; без запятой. Build пишет ошибку. Запятая отделяет два слова. string[] plants = { 40, 9 }; просит этот тип держать целые числа. В вашем файле слова — leaf и mint, не цифры. Build пишет ошибку. Тип со скобками на этой странице держит слова в кавычках.

Строка записи выбирает одну ячейку: Console.WriteLine(plants[0]);. Скобки после имени держат число. Это число 0. Ячейка 0 — первое слово, потому что счёт ячеек начинается с 0, а не с 1. Вокруг 0 кавычек нет. Нет точки и нет Length. C# читает plants, читает 0, пишет слово из этой ячейки и заканчивает строку. В вашем файле это слово — leaf. Буквы имени p, l, a, n, t, s на экране не появляются. string на экране нет. Фигурные скобки на экране нет. Запятая на экране нет. mint на экране нет. Слово leaf на экране — одна строка. Сохраните файл.

Файл, который вы оставляете

Держите эту учебную форму. Одно слово типа — string[]. Одно имя — plants. Два слова в фигурных скобках: сначала leaf, потом mint, каждое в кавычках, с одной запятой между ними. Одна строка записи, и она берёт ячейку 0. Нет Length и нет второй строки записи.

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[0]);
    }
}

Читайте сверху. using System; готовит короткие имена. public class Pine называет тип. public static void Main() — точка входа runtime. Строка хранения string[] plants = { "leaf", "mint" }; ничего не пишет. Console.WriteLine(plants[0]); пишет leaf и завершает строку. Одна строка на экране. Второй нет. В вашем файле нет строки int и нет строки, которая хранит null.

Запустите dotnet run. Программа пишет leaf. Она не ждёт вашего ввода. Слова уже были в файле до run. Если dotnet run ждёт, в файле ещё есть ReadLine. Удалите эту строку и оставьте string[] plants = { "leaf", "mint" }; с одной строкой записи. Программа завершается после строки записи. Экран показывает leaf. Одна строка. Если экран показывает mint, строка записи взяла ячейку 1, или в скобках первым стоит mint. Смотрите в файл. В вашем файле первым идёт leaf, а в строке записи — plants[0]. Если экран показывает plant, в строке записи кавычки вокруг другого имени. Если экран показывает буквы plants[0], в строке записи кавычки вокруг этих букв: Console.WriteLine("plants[0]");. Эти кавычки — про буквы, сохранённое слово не пишется. Если экран показывает null, остался файл с null, или ячейки созданы без слов в скобках. В вашем файле в скобках leaf и mint. Если экран показывает 40, 40.0 или 4, остался файл приведения, чисел или вопрос про Length. Удалите эту строку. Если экран показывает true или false, в файле ещё есть ripe. Если экран пустой, а не leaf, в строке хранения кавычки без букв. Это не ваш файл. Для неверной строки на экране .NET SDK заново не ставите.

Экран с leaf сам по себе не доказывает скобки. string plant = "leaf"; тоже пишет leaf. Экран может выглядеть одинаково. Файл — нет. В вашем файле есть string[], фигурные скобки, запятая, а в строке записи — plants[0]. Оценивая эту страницу, ищите скобки у типа и число 0. Не судите файл только по экрану.

Другое слово в ячейке 1

Второе слово в файле есть, но строка записи в рабочем файле его не пишет. Чтобы увидеть mint, число в скобках — 1. Ячейка 1 — второе слово, потому что ячейка 0 была первой. Такой run допустим, но это не файл, который вы оставляете.

the second word

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[1]);
    }
}

Запустите dotnet run. Экран показывает mint. Одна строка. leaf на ней нет. Строка хранения не менялась. Изменилось только число в скобках. 1 не значит «первое слово». Первое по-прежнему leaf, в ячейке 0. После mint верните plants[0]. Ваш рабочий файл пишет leaf.

📊 Число в скобках и экран

Число Экран
0 leaf
1 mint
2 run пишет ошибку
string plants = { "leaf", "mint" }; build пишет ошибку

Читайте таблицу вместе с run, а не вместо него. Для 0 build без ошибки, dotnet run пишет leaf. Для 1 build без ошибки, dotnet run пишет mint. Для 2 build без ошибки, а run — с ошибкой, потому что такой ячейки не было в скобках. Для string plants = { "leaf", "mint" }; без скобок у типа build пишет ошибку, run не делаете. После каждой проверки возвращайте рабочий файл: string[], скобки, leaf затем mint, и plants[0]. На экране в рабочем файле — leaf, одна строка.

Имя должно существовать до строки, которая его использует. Если Console.WriteLine(plants[0]); выше строки хранения, build пишет ошибку. Перенесите хранение выше записи. Не пишите string[] второй раз для того же имени. Позже можно заменить одно слово без повторного string[], когда plants уже есть: plants[0] = "stem";. Эта строка меняет только ячейку 0. Ячейка 1 всё ещё mint. Допустимо, но не ваш файл. В вашем файле одна строка хранения: сначала leaf, потом mint.

string[] plants; без скобок и слов, а затем строка записи — build пишет ошибку. Имя было бы типом без слов. Поставьте фигурные скобки на строку создания, как в рабочем файле. string[] plants = { "leaf" }; хранит одно слово. plants[0] пишет leaf. plants[1] — ячейка, которую вы не записали, поэтому после тихого build run пишет ошибку. Однословный файл — не ваш. Пропуск пробела не склеивает тип: string[]plants всё ещё хранит два слова, build без ошибки. В вашем файле пробел после string[]. string [] plants с пробелом перед plants тоже хранит два слова. plants[ 0 ] с пробелами в скобках всё ещё пишет leaf. В вашем файле лишних пробелов нет, но они не дают второе значение.

Фигурные скобки — не круглые. string[] plants = ( "leaf", "mint" ); — build пишет ошибку. Слова в { и }, не в ( и ). Строка записи — не вызов со скобками вокруг числа. Console.WriteLine(plants(0)); — build пишет ошибку. Число в [ и ]. Имя остаётся plants с маленькой p. string[] Plants с большой P — другое имя. Может хранить слова, но это не имя в вашем файле. Верните маленькую p.

Запятая после последнего слова не добавляет ячейку. string[] plants = { "leaf", "mint", }; всё ещё хранит два слова. Build без ошибки. plants[0] пишет leaf, plants[1] — mint. Третьего слова нет. В вашем файле после mint запятой нет, но лишняя запятая — не третье значение. new не обязателен. string[] plants = new string[] { "leaf", "mint" }; тоже хранит два слова, plants[0] пишет leaf. В вашем файле new нет. string[] plants = new string[2]; создаёт две пустые ячейки. Тогда plants[0] пишет null. Там нет букв. Это не ваш файл. Слова leaf и mint должны сидеть в фигурных скобках.

Ячейка, которую вы не записали

Два слова — две ячейки с номерами 0 и 1. Число 2 — третья ячейка. Третье слово вы не писали. Третий файл обращается к ней.

a slot you did not write

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string[] plants = { "leaf", "mint" };
        Console.WriteLine(plants[2]);
    }
}

Это третий файл, не рабочий. Запустите dotnet run. Build может молчать, строки в файле допустимы. Число 2 не ломает build. Программа не пишет leaf, не пишет mint, не пишет 2 и не пишет null. Run пишет ошибку. Точный текст ошибки знать не обязательно. В скобках было два слова, третьего нет. plants[-1] — не способ взять последнее слово. Build молчит, run — ошибка. Для вашего файла подходят только 0 и 1. Если экран показывает mint, в скобках 1, второе слово на месте. После ошибки верните рабочий файл.

Имя без ячеек — другая поломка, экран не показывает слово null. string[] plants = null; не хранит ячеек. Build молчит. Тогда Console.WriteLine(plants[0]); даёт ошибку run. Не пишет null и не пишет leaf. Скобки в строке записи просят ячейку, а у имени ячеек нет. Это не ваш файл. В вашем файле есть скобки, и в них leaf и mint.

Теперь вы можете хранить два слова под одним именем и писать первое. string[] plants = { "leaf", "mint" }; хранит leaf и mint. Console.WriteLine(plants[0]); пишет leaf и завершает строку. plants[1] пишет mint, но это не ваш файл. plants[2] оставляет build тихим и даёт ошибку run. Имя string без скобок не держит фигурные скобки. Следующая страница оставляет эти скобки. Она смотрит на знак между двумя целыми числами — операторы.

На экране — первое слово

Ваш файл пишет leaf. В строке записи имя plants, а plants на экране нет. Число в скобках — 0. mint — второе слово и остаётся в файле, пока экран показывает leaf. Номер ячейки, которую вы не записали, — не ваш файл. Кавычки вокруг plants[0] пишут буквы, а не слово из ячейки.

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

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

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

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

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

📝 Инструкции

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