Методы строк
plant.Length считает буквы, которые plant уже держит. string plant = "leaf"; по-прежнему хранит leaf, а Console.WriteLine(plant.Length) пишет 4. Буквы остаются leaf. Они не превращаются в число. Точка после имени — это вопрос, а строка записи показывает ответ. Публичный класс оставьте с именем Pine. SDK вы снова не устанавливаете.
Точка спрашивает, сколько букв
Откройте файл Pine. Имя класса остаётся Pine. Эта страница тип не переименовывает. Прошлая страница держала string plant = "leaf"; и одну строку записи, которая показывала leaf. Эта страница ту строку хранения сохраняет. Удалите строку int, если она ещё есть. Удалите любую строку ReadLine. В файле, который вы храните, нет ожидания и нет строки целого числа. Счёт пишет только строка записи, которая задаёт вопрос.
Внутри Main строка хранения по-прежнему string plant = "leaf";. string — слово вида. plant — имя. Кавычки держат l, e, a, f, все маленькие. Эта строка хранит буквы. Она не задаёт вопрос и не пишет экран. Вопрос — дополнительная работа после того, как буквы сохранены. После имени напишите точку, затем слово Length. В C# после Length скобок нет. Весь вопрос — plant.Length. Точка связывает вопрос с именем. Length — слово «сколько». Спросить — не то же самое, что сохранить. Буквы в имени остаются leaf. Вопрос не снимает кавычки и не кладёт число 4 в имя plant.
Файл, который вы храните, сначала пишет буквы, потом задаёт вопрос. Первая строка записи — голое имя: Console.WriteLine(plant);. Без кавычек и без точки. Она пишет leaf и заканчивает строку. Вторая строка записи — вопрос: Console.WriteLine(plant.Length);. Вокруг Length кавычек нет. C# читает имя plant, считает буквы, которые это имя держит, пишет этот счёт и заканчивает строку. Для файла, который вы храните, счёт равен 4. Знаков кавычек на экране нет. Слова Length на экране нет. Букв самого имени на экране нет. Сохраните файл.
Файл, который вы храните
Сохраните эту учебную форму. Одна строка хранения, string plant = "leaf";. Одна строка записи для букв. Одна строка записи для счёта. Строка счёта — это plant.Length внутри WriteLine. Больше ничего.
using System;
public class Pine
{
public static void Main()
{
string plant = "leaf";
Console.WriteLine(plant);
Console.WriteLine(plant.Length);
}
}
Читайте сверху. using System; готовит короткие имена. public class Pine даёт имя типу. public static void Main() — место, где runtime начинает. Строка хранения — string plant = "leaf";. Она хранит четыре буквы. Ничего не пишет. Console.WriteLine(plant); пишет leaf и заканчивает строку. Console.WriteLine(plant.Length); пишет 4 и заканчивает строку. Две строки на экране. Первая — буквы. Вторая — счёт. Кавычки остаются в файле вокруг leaf и ни на одной экранной строке не появляются.
Запустите через dotnet run. Программа пишет leaf, затем 4 на следующей строке. Она не ждёт, пока вы напечатаете. Буквы уже были в файле, и счёт отвечает из этих букв. Если dotnet run ждёт, в файле ещё есть ReadLine. Удалите эту строку и оставьте строку хранения и две строки записи. Экран показывает leaf, затем 4. Если экран показывает только leaf, второй строки записи нет. Если экран показывает только 4, первой строки записи нет. Если экран показывает 4, затем leaf, две строки записи переставлены. Для экрана с неверной строкой вы снова не устанавливаете .NET SDK.
Length и одно место
Держите два вопроса легко различимыми.
📊 String question habits for plant
| Question | Needs | Screen for leaf |
|---|---|---|
plant.Length |
no parentheses | 4 |
plant[0] |
place 0 inside brackets |
l |
plant[1] |
place 1 inside brackets |
e |
plant.Length() |
parentheses after Length | build writes an error |
Пробел считается за один
Буквы между кавычками могут меняться, и счёт следует за этими буквами. Под первым вопросом сохраните новый набор букв в том же имени, затем спросите снова. Новая строка хранения — plant = "leaf stem";. Она не начинается с string. Между кавычками девять мест: l, e, a, f, один пробел, s, t, e, m. Пробел — одно из них. Length его считает. Этот второй файл буквы не пишет. Он пишет только два счёта, чтобы экран нельзя было спутать с самими буквами.
Это второй файл. Это не файл, который вы храните. Файл, который вы храните, имеет одну строку хранения, буквы leaf, без пробела и экран leaf, затем 4. Используйте эту вторую форму, когда хотите увидеть, как считается пробел, затем верните хранимый файл.
using System;
public class Pine
{
public static void Main()
{
string plant = "leaf";
Console.WriteLine(plant.Length);
plant = "leaf stem";
Console.WriteLine(plant.Length);
}
}
Запустите dotnet run. Экран показывает 4, а следующая строка — 9. Две строки. Без знаков кавычек. Букв leaf на экране нет. Есть только счёты. Если вторая строка — 8, между кавычками нет пробела, и сохранённые буквы — leafstem. Если обе строки — 4, второй строки хранения нет или она всё ещё говорит "leaf". Не пишите string второй раз для того же имени. Имя создаётся один раз. Поздние строки только меняют буквы, которые оно держит, или задают вопрос об этих буквах.
Какая буква сидит на месте
Length спрашивает «сколько». Другой вопрос спрашивает, какая буква сидит на одном месте. Место идёт в квадратных скобках после имени. Первое место — 0, не 1. Для leaf место 0 держит l, место 1 держит e, место 2 держит a, а место 3 держит f. plant[0] отвечает одной буквой l. plant[1] отвечает одной буквой e. Ответ — одна буква, не целое слово leaf и не само число места. Буквы, сохранённые в plant, остаются leaf.
Это третий файл. Это не файл, который вы храните. Файл, который вы храните, спрашивает Length, и его экран — leaf, затем 4. Используйте эту третью форму, когда хотите увидеть места, затем верните хранимый файл.
using System;
public class Pine
{
public static void Main()
{
string plant = "leaf";
Console.WriteLine(plant[0]);
Console.WriteLine(plant[1]);
}
}
Запустите dotnet run. Экран показывает l, а следующая строка — e. Две строки. Без знаков кавычек. Слова leaf на экране нет. Чисел 0 и 1 на экране нет. Если первая строка — e, первый вопрос спросил место 1, то есть вторую букву. Первая буква — место 0. Место 4 не входит в буквы leaf. Существующие места — 0, 1, 2 и 3. Строка записи с plant[4] может пройти build, а затем упасть при запуске программы. Верните plant[0] и plant[1], если вам всё ещё нужны эти две строки, затем верните хранимый файл, когда закончите.
Length не берёт скобки
В C# слово Length не пишется с пустой парой скобок. Строка Console.WriteLine(plant.Length()); ставит () после Length. Build пишет ошибку. Он не молчит. Пока build пишет ошибку, экрану доверять нельзя. Исправление — удалить скобки, чтобы строка стала Console.WriteLine(plant.Length);. Оставшиеся привычки Java length() на этой странице сопоставьте со словом C# Length без скобок.
Этот четвёртый файл — ошибка со скобками. Это не файл, который вы храните. Держите его только пока build пишет ошибку, затем верните plant.Length без скобок.
using System;
public class Pine
{
public static void Main()
{
string plant = "leaf";
Console.WriteLine(plant.Length());
}
}
Экран показывает ответ, а буквы остаются
Теперь вы можете спросить, сколько букв имя уже держит, и какая буква сидит на месте, которое начинается с 0. string plant = "leaf"; по-прежнему хранит leaf. Console.WriteLine(plant); пишет leaf. Console.WriteLine(plant.Length); пишет 4, а буквы остаются leaf. Позже plant = "leaf stem"; делает следующий счёт равным 9, потому что пробел считается за один. plant[0] пишет l, а plant[1] пишет e. Length() со скобками заставляет build писать ошибку. Следующая страница оставляет эти вопросы. Она остаётся с целым числом вроде того 4, которое написал этот счёт, и число снова то, которое вы пишете в файле.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху