Автор - dmasya

чем отличается форматирование строк от работы со строками в c#

Ответ

Автор - csharp

Начнём по порядку. Что значит "работа со строками"? Это любое взаимодействие с ними:

  • Конкатенация (сложение строк, например: "znanija/" + "task/31137639" = "znanija/task/31137639")
  • Сравнение (как по символам (которые выше по значению, те строки и выше), так и по длине)
  • Поиск (например, в строке "znanija/task/31137639" нам нужно найти все наклонные чёрточки "/")
  • Вставка / Удаление / Копирование / Замена / Замена больших букв на маленькие и наоборот

Что же такое форматирование строки? Из определения понятно, что мы уже работаем с конечной строкой. Она намного вкуснее и работать с ней одно удовольствие, особенно для программ общего назначения, где используются вводы номеров, имён, кредитных карточек или любых других текстовых объектов. Например, у нас есть номер: +79123456789. Лично я при написании  одного из своего первого проекта пытался сам написать метод правильного разделения номеров по шаблону: код страны, оператор, идентификатор. Всё это довольно болезненно, поскольку нужно резать строку, выбирать оттуда первые N чисел после I индекса.. В общем - морока. Вместо этого можно делать всё очень просто:

  1. long number = 79123456789;
  2. tbLogin.Text = $"{number:+#-(###)-(###)-(##)-(##)}";
  3. // output: +7-(912)-(345)-(67)-(89)

Помимо этого, если Вы знакомы с тернарным оператором (сокращенная запись if else), который выглядит как (if else):

  • условие ? выполнить_если_true : выполнить_если_false;

или так (if else if):

  • условие ? выполнить_если_true : условие? выполнить_если_true : выполнить_если_false;

То можете использовать его сокращённую версию и в строках, проверяя значение на null:

  1. string defaultName = null;
  2. tbPassword.Text = $"{defaultName??"task31137639"}";
  3. // output: task31137639

В общем-то всё, если что-то непонятно - обращайтесь в комментарии.

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2025 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation