Free YouTube Transcribe

Video transcript

ОПЕРАТОР ПРИСВАИВАНИЯ ОБЪЕДИНЕНИЯ СО ЗНАЧЕНИЕМ NULL в C# 8 | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 41

#SimpleCode · 1,520 words · 7 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:00приветствую вас друзья меня зовут сергей

0:01мы с вами продолжаем изучать язык

0:03программирования си sharp и сегодня мы с

0:05вами будем говорить об операторе

0:07присваивания объединения со значением

0:09нал либо же а вот такой штуки

0:12этот урок является логическим

0:14продолжением предыдущего урока где мы с

0:16вами обсуждали просто оператор

0:18объединения стал не забудьте подписаться

0:20на канал и жмакнуть колокольчик чтобы не

0:22пропускать новые руки ну и теперь

0:24непосредственно к делу итак оператор

0:26присваивания объединения со значением на

0:28а вот такой похож на обычный оператор

0:31объединения снова то есть вот такой

0:33просто ?

0:34соответственно для того чтобы понять как

0:36работает вот этот оператор будет разумно

0:38его рассмотреть контексте того чем

0:41отличается с предыдущим оператором

0:42ключевой момент то есть разница состоит

0:45в том каким образом эти два оператора

0:47действует на левый операнд давайте

0:49немножко более подробно посмотрим на код

0:52который у нас здесь имеется

0:54это немного модифицированный код

0:56прошлого урока где мы использовали

0:57оператор объединения

0:59знал без знака равно брейк-пойнт у нас

1:01на 24 строчки кода запустим программу

1:04где баги с помощью клавиши f5 нас

1:06интересует прежде всего переменная стр

1:09которая должна храниться строка

1:11но так как это у нас ссылочный тип мы

1:13тогда можем присвоить на

1:14ну и в данном случае двадцать второй

1:16строчке кода мы именно это и сделали

1:18теперь на 24 строчки кода оператор

1:21объединение сноу должен проверить нашу

1:24переменную str которая является его

1:26левым операндом их случай если в нем

1:28находится значение то в переменную

1:31резал присвоится

1:32вот эта вот строка которая является

1:34режим так дефолтным значением если у нас

1:37или вам operandi но если мы сделаем шаг

1:39то в переменный resort будет хранится

1:41значение default string соответственно

1:43если бы у нас до этого переменной стр

1:45был не нал на какая-то строка то вместо

1:48вот этого дефолтного значения дефолтного

1:50сообщения отдыхал string в нашу

1:53переменную резал присваивалась то

1:54значение которое было бы в переменной

1:56стр именно этот момент мы рассматривали

1:58в прошлом уроке но контексте данного

2:00урока нас интересует несколько другой

2:03нам

2:03нас интересует вот эта переменная стр

2:05что с ней произошло после выполнения

2:07оператор объединения снов в данном

2:10случае там остался нал

2:11то есть вот этот оператор обвинения снял

2:14просто проверяет переменную и если не

2:16нору он вместо этой переменной

2:18подставляет дефолтное значение какой-то

2:20другой источник которой мы хотим

2:22сохранить результат но в данном случае

2:23это наша переменная резал

2:25теперь же давайте модифицируем этот код

2:27и вместо оператора объединения стал

2:30используем оператор присваивания

2:32объединения со значением 0 ну просто

2:35допишем здесь равно и все запускаем нашу

2:38программу ещё один раз в дебаггер она у

2:41нас перед собирается перри компилируется

2:42и смотрите ситуация точно такая же в

2:45переменной астер у нас сейчас нал и у

2:47нас есть дефолтное значение

2:48действие нашего оператора присваивания

2:50объединения вот этого нового на

2:52переменную ризал будет точно таким же

2:54как и в прошлом случае то есть если

2:56постере

2:57у нас now the врезалась нам присвоится

2:59дефолтное значение данном случае наше

3:02сообщение дефолт string вот она

3:04прислонилась но посмотрите что у нас

3:06теперь находится в переменной стр если в

3:09прошлом примере у нас переменная стр не

3:12изменилось там как был на лодок и

3:13остался на в данном случае в эту

3:16переменную str тоже присвоила

3:17сверхплотное значение соответственно вот

3:20она разница что это нам дает конкретно в

3:22данном случае мы можем просто избавиться

3:24от дополнительной переменной rezound

3:26ну и соответственно принес то этой

3:28примерной методе red line класса консоль

3:31мы будем использовать нашу переменную

3:32str таким образом если мы теперь это все

3:35запускаем и она с переменной стр был но

3:38у туда присвоится дефолтное значение без

3:40промежуточной перемены наш холст

3:42работает корректно ну и соответственно

3:44мы получим сообщение о том какое

3:46количество символов строки в данном

3:48случае мы можем здесь использовать не

3:49дефолт strenx'а просто string

3:52если мы хотим чтобы у нас вместо мало

3:56просто переменная сэр была пустая строка

3:58вот такая 2 кавычки соответственно на

4:01вывод конце мы получим сообщение о том

4:03что количество символов строки у нас 0

4:05таким образом мы получаем очень короткую

4:07форму проверки на нал и в случае если в

4:10переменной находится на присваивание до

4:12какого-то значения но если же у нас в

4:14переменной стр уже до этого было

4:16какое-то значение в данном случае там

4:18строка тест то соответственно после вот

4:21такой вот проверки

4:22в эту строку ничего не будет присвоен а

4:24и в дальнейшем мы и так и будем работать

4:27той же информации которая была в

4:28переменной стр количество символа в

4:31строке 4 в данном случае мы с вами

4:33рассмотрели пример со строками

4:35но у нас же существуют и другие

4:37ссылочные типы

4:38и для них это также работает давайте же

4:40рассмотрим ещё один пример но уже с

4:42массивами и так вот он наш следующий

4:44пример задача данной программки написать

4:47сообщение о том какое количество

4:49элементов в массиве

4:50давайте с вами представим что мы

4:51получаем массив откуда-то извне не важно

4:54какие там элементы данном случае это

4:56элементы типа int но с тем же успехом

4:58это мог бы быть список студентов

5:00какого-то укус или какой-то список

5:01покупок в магазине общем любая

5:04информация которую можно поместить в

5:06массив данный метод get эрой у нас

5:08выступает в качестве заглушки здесь

5:10могло бы быть обращения к базе данных

5:11какой-то теперь запрос в общем что то

5:14что получает данные извне соответственно

5:16мы заранее не знаем что нам кто-то

5:17придет и тем не менее мы должны каким-то

5:20образом выводить информацию о том какое

5:22количество элементов в нашем оси и

5:24возможна дальнейшая наша логика тоже

5:26как-то зависит от того какое количество

5:28элементов в нашем массе допустим если их

5:310 то мы должны сделать определенное

5:33какое-то действие если больше то другое

5:35какое-то действие но есть один нюанс так

5:37как наш массив это ссылочные те кто мы

5:39вполне себе спокойно можем получить сюда

5:41мал из внешнего источника соответственно

5:44каждый раз прежде чем мы что то будем

5:45делать с этим массивом вам необходимо

5:47будет выполнять проверку на null именно

5:50так сейчас и работает металл гетерой

5:52место каких-то данных массиве он нам

5:54вернет нам соответственно если мы в

5:56дальнейшем будем пытаться работать с

5:58таким массивом вот как у нас а пиццы на

5:59это сейчас и запустим нашу программу

6:01полученного равен sexy прошлых уроках мы

6:04рассматривали почему это происходит

6:05соответственно чтобы не писать проверку

6:07на на можем использовать этот оператор

6:10и соответственно создавать массивно 0

6:12элементов и в дальнейшем мы будем знать

6:14что там 0 элементов но требует случайном

6:17не будет необходимости проверять это

6:19значение на нам хочу обратить ваше

6:20внимание на то что в данном случае у нас

6:23здесь есть проблема проблема заключается

6:25в том что вот этот оператор присваивания

6:27объединения стал доступен только

6:30в версии языка сишарп 8 на данный момент

6:33и лежала студией оды форту по умолчанию

6:36используется версия языка

6:38программирования си sharp всем и 3

6:40возможно вам придется провести

6:41дополнительные манипуляции чтобы иметь

6:43возможность данный оператор использовать

6:45что же нам необходимо сделать вам нужно

6:47открыть в папке именно тут проект в

6:49совершении в котором используется данный

6:51код в нашем случае это la sin 2

6:53поэтому я нажимаю ним правой кнопкой

6:55мышки и нажимаю опыт folder in file

6:58explorer далее нам необходимо найти файл

7:00с расширением cs просишь и открытие в

7:04каком-то текстовом редакторе в этом

7:06файле у нас хранятся различные настройки

7:08нашего проекта здесь у нас есть

7:10различные секции про port групп если мы

7:13опустимся немножечко ниже мы видим что в

7:16одной из этих секций

7:17присутствует секция long вершину 80

7:19данном случае нам в этой второй секции

7:22property group который находится

7:24немножко выше нужно добавить тот же

7:26самый параметр сохранить от файл дальше

7:28visual studio спросит нужно ли

7:30перезагрузить файл и которые были

7:32изменены нажимаем рилот холл и после

7:35этого

7:37перри собрав решение мы сможем

7:39использовать данный оператор

7:41теперь мы данный оператор можем

7:44использовать

7:44двадцать девятой строчке кода поставим

7:46breakpoint и запустим нашу программу в

7:48отладке метод get эры

7:50сейчас качестве результата нам вернет

7:52нам

7:53и в переменной мой первый нас будет нам

7:57соответственно в этот оператор который у

7:59нас проверит что у нас находится в

8:02переменной мая эры

8:03увидит что-то гнал и присвоить туда

8:05дефолтное значение новые массив 0 0

8:08элементов и присвоить туда ссылку на

8:09этот массив таким образом в дальнейшем

8:11когда мы обратимся к переменной моей эры

8:13и обратимся к tejo

8:15свойства линз но уже не получим наворот

8:17френдс эксепшен а получим вывод на

8:19консоль сообщения о том что у нас

8:21количество элементов в массиве

8:230 если же мы представим что наш метод

8:26get эрой вернул нам какое-то другое

8:29количество элементов в данном случае

8:3111 опять запускаем все это в d баги

8:34переменной мои r11 на тридцать пятой

8:37строчке кода выполняется проверка того

8:39что у нас находится в переменной мой

8:40эрой там у нас сейчас не нал поэтому

8:42дефолтное значение туда присваиваться не

8:44будет и дальнейшем мы получим сообщение

8:47о том что у нас количество элементов в

8:49массиве 11 исходный код данного урока

8:52для патронов канала с доступом к

8:54исходному коду будет доступен на

8:56патреоне если вам понравилось это видео

8:58оно было для вас полезным интересными

8:59забудьте поставить под ним лайк и

9:01поддержи меня канал финансовую

9:03информацию о том как это сделает найдете

9:05внизу в описании буду рад если вы

9:07поделитесь этим уроком но и конечно же

9:09если вы еще не подписались на канал то

9:11обязательно подписывайтесь здесь уже

9:12есть и будет еще много полезных и

9:14интересных уроков для вас чем спасибо за

9:16внимание пока

More from #SimpleCode

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.