На этом уроке мы немного поговорим о классе String. Им также удобно пользоваться, как и примитивными типами. Однако есть некоторые особенности реализации этого класса, о которых необходимо знать при разработке программ.
Дата отправки отчёта:
1 февраля 2018 г.
Задание выполнено: за
21 мин.
Чему научился:
---
Что было сложным:
---
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 16533. Андрей Шевченко+11. Евгений Волосатов+111868. Андрей Суслов+13922. Александр+15502. Антон Кравченко0459. Сергей Сергеевич+110558. Иван Воронин+16452. Кирилл Шмойлов+19014. Николай Денисов+14395. Денис+13850. Григорий+11305. Валерий+18275. Tekashnik+116880. Константин+17308. AZANIR+16203. Николай Миролюбов+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: тип String не относится к примитивным
Присваиваемое значение заключается в "двойные кавычки"
'Апострофы' применяй в JAVA для присвоения одиночных символов.
"Кавычки " применяй в JAVA для присвоения неодиночных символов, строк текстов.
Пустая строка допускается
Допустимы экранирование спецсимволов ' " \
Переменные типа String не редактируются (не меняются, а копируются с изменениями) в месте их хранения в памяти
При редактировании переменной типа String создаётся новая копия с изменениями
Отсюда потенциальная проблема - при обработке String в цикле, множество копий больших переменных нагружают память и тормозят работу
Проблему тормозов решает класс StringBuilder, умело редактирующий string с оптимизацией расходования памяти
При использовании знака сложения текста и чисел работает конкатенация, учитывай! Скобки помогают отключить конкатенацию:
"ответ: " + 5 + 7 возвратит "ответ: 57"
"ответ: " + (5+7) возвратит "ответ: 12"
Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит true
Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит false ЕСЛИ ПРЕДПРИНИМАЛОСЬ РЕДАКТИРОВАНИЕ
Научился: Научился определять длину расширенной строки, копировать строки, конкатенировать. Набрал пример из урока, сконкатенировал строки "дом" и "2", получилось "дом2" :D. В моем случае нет отдельного типа String, поэтому я его смоделировал вручную, создав схожую immutable-реализацию. Проверил оптимизацию компилятора на хранение по одному адресу одинаковых строковых констант. Радует то, что оптимизация работает даже без дополнительных ключей компилятора :)