background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42"

input logo icon
"videoThumbnail ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42
Similar videos from our catalog
|

Similar videos from our catalog

C# свойства get set | ключевое слово value | автоматические свойства c# | ООП C# Урок | # 62
21:47

C# свойства get set | ключевое слово value | автоматические свойства c# | ООП C# Урок | # 62

Channel: #SimpleCode
Основы c++ для начинающих. Свой класс string. Часть 2. Запись стрима. #SimpleCode
1:07:29

Основы c++ для начинающих. Свой класс string. Часть 2. Запись стрима. #SimpleCode

Channel: #SimpleCode
ИНДЕКСЫ И ДИАПАЗОНЫ В C#8 | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | УРОК # 28
21:40

ИНДЕКСЫ И ДИАПАЗОНЫ В C#8 | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | УРОК # 28

Channel: #SimpleCode
Найти минимальный элемент массива. Поиск минимального элемента в массиве. C++ для начинающих. ДЗ#8.
9:00

Найти минимальный элемент массива. Поиск минимального элемента в массиве. C++ для начинающих. ДЗ#8.

Channel: #SimpleCode
Двумерные массивы вывод. Заполнение. Двумерный массив циклы. C++ для начинающих. #32
10:01

Двумерные массивы вывод. Заполнение. Двумерный массив циклы. C++ для начинающих. #32

Channel: #SimpleCode
ПРОВЕРКА ЧИСЛА НА ЧЁТНОСТЬ В C#| C# ДОМАШНИЕ ЗАДАНИЯ | #2
6:06

ПРОВЕРКА ЧИСЛА НА ЧЁТНОСТЬ В C#| C# ДОМАШНИЕ ЗАДАНИЯ | #2

Channel: #SimpleCode
Домашнее задание. C++. Сумма, произведение, среднее арифметическое чисел.
13:58

Домашнее задание. C++. Сумма, произведение, среднее арифметическое чисел.

Channel: #SimpleCode
Сокращенные арифметические формы +=, -= и т д. C++ для начинающих. Урок #10.
4:05

Сокращенные арифметические формы +=, -= и т д. C++ для начинающих. Урок #10.

Channel: #SimpleCode
If else. Конструкция логического выбора if.  Лесенка if - else if. Примеры использования. Урок #12.
19:25

If else. Конструкция логического выбора if. Лесенка if - else if. Примеры использования. Урок #12.

Channel: #SimpleCode
C# с нуля. Урок 4  - массивы и циклы. На примере решения мини задачи.
59:20

C# с нуля. Урок 4 - массивы и циклы. На примере решения мини задачи.

Channel: SBeregovoyRU
Video tags
|

Video tags

программирование
курсы программирования
уроки
массивы
функции
циклы
visual studio
web программирование
азы программирования
#SimpleCode
simplecode
simplecode c++
visual studio 2019
visual studio 2017
visual studio уроки
simplecode c#
программирование для начинающих
учим си шарп
учим c# с нуля
c# уроки с заданиями
уроки c# для начинающих
null оператор c#
null c# что это
c# проверка на null
программирование с чего начать
C# ?.
программирование с нуля
сишарп
урокипрограммирования
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:00
I welcome you friends, my name is Sergey,
00:00:02
we continue to study the
00:00:03
C sharp programming language,
00:00:04
today's topic of our lesson is the
00:00:06
conditional cash operator, let's find out what it is, why it is
00:00:09
needed and how it is used in this
00:00:11
lesson, we will have a fairly simple
00:00:13
example based on what we have studied so far
00:00:15
more complex based on
00:00:16
object-oriented
00:00:17
programming and, let's say, using an example
00:00:20
that is quite
00:00:22
common in real applications,
00:00:23
it may be difficult for you to understand the second
00:00:26
part of this lesson,
00:00:27
however, I think that it is worth
00:00:29
posting here because this is a typical
00:00:31
example of using this operator
00:00:32
in any case in the future you can always
00:00:35
come back and watch this lesson again
00:00:37
in order to refresh your knowledge about
00:00:39
this operator, don’t forget to subscribe
00:00:41
to the channel and hit the bell so as not to
00:00:43
miss the next lessons, but now let’s get straight
00:00:44
to the point, first
00:00:46
let’s look at the situation when we generally
00:00:49
need to use a
00:00:50
conditional cash operator By the way, he looks like this:
00:00:54
question marks. so we have a
00:00:58
certain method that returns us acer
00:01:01
in this case, this is a simple example of a
00:01:03
maser end of as I already said, it can
00:01:05
be absolutely any information, an array of
00:01:08
anything, and this
00:01:09
information can be requested from the database to
00:01:11
some kind of cross luck -
00:01:13
in this case, we have ggt
00:01:19
paradise as a stub for such a request and in its current implementation it will
00:01:22
return us an array of three elements where
00:01:24
we will store the numbers one two and three
00:01:26
for 24 lines of code in we call the data
00:01:30
method and in a variable r and get its
00:01:32
result in the future, in 24 lines of
00:01:34
code we calculate the sum of the elements of this
00:01:37
array using the extension method itself,
00:01:39
if we run this now, then everything
00:01:41
works well without problems, but as I already
00:01:44
said, this hetero method is a
00:01:47
stub and emulates the situation when we
00:01:49
receive this information from some
00:01:50
external source, there is
00:01:52
a possibility that from an external source,
00:01:53
instead of real data in our array, we
00:01:56
will receive cash in this case, if we
00:01:57
run our program we get an
00:01:59
exception, let's find out in more
00:02:01
detail why we received this exception
00:02:03
on 24 lines of code in us
00:02:05
break point we launch the debugger using the
00:02:08
f5 key, using the f10 key
00:02:11
we take a step and we see that in our
00:02:13
array we now knew because the
00:02:15
hetero method returned us instead of real
00:02:17
data, well that’s why in this case on the
00:02:20
twenty-sixth line of code where we have
00:02:22
the output in console, we are trying to access
00:02:24
objects and the roar of the variable may fish,
00:02:26
call its method itself so that it
00:02:29
calculates the sum of alimony of all arrays,
00:02:31
how can it do this if we are
00:02:34
now again remembering the lesson on reference
00:02:36
and value types and we understand that we
00:02:39
actually have a shortcut which does not refer
00:02:42
to the real data in the heap,
00:02:44
respectively, we are trying to add
00:02:46
some elements that do not exist
00:02:49
because we have no power with the
00:02:50
elements in reality, we only have
00:02:52
a label that is not assigned a reference to the
00:02:54
data of the managed heap, responsibly
00:02:57
trying to do this we get an
00:02:59
exception
00:03:00
typical the situation is how we can get around
00:03:02
this by performing a check on the cash of our
00:03:05
array,
00:03:06
if dismal is allowed then we will
00:03:08
display messages crazy to the element of the
00:03:10
array mart let's say then because
00:03:15
we don't have a lot of any elements otherwise
00:03:18
we actually execute our code in this
00:03:21
case we won't get an exception
00:03:23
because we check this whole thing for cash and
00:03:25
if we have now added all this,
00:03:27
we run a check for tax
00:03:30
and execute exactly that branch where we do not
00:03:32
access arrays which are a lot, we
00:03:33
simply display a message that the sum of the
00:03:36
elements of the array is 0, we move on as
00:03:38
you can see,
00:03:40
the dimension of our code and we are
00:03:43
understandably not happy with this kind of thing, let’s
00:03:45
roll it all back and in this case the
00:03:50
conditional operator will help us, but instead of
00:03:52
doing all this checking for cash,
00:03:54
we are here before we access
00:03:57
our array, can we put ? and further. what will now
00:04:00
change during the execution of our
00:04:02
program, before accessing our
00:04:06
array, trying to add its elements, a
00:04:09
check will be performed for on st. So,
00:04:11
if at the time of calling this
00:04:13
operator in our array there is no, otherwise the
00:04:16
further move will not be executed,
00:04:18
accordingly we do not have there will be attempts
00:04:19
to add non-existent elements
00:04:21
as a result of this expression if there
00:04:24
was nalto in the array instead of
00:04:25
executing this code, we will still be
00:04:28
left here with let's run it, we always
00:04:31
look at the bugs in the array right now, and
00:04:33
if we execute the code on the twenty-sixth
00:04:36
line of code we just get the
00:04:38
message sum of array elements, but as
00:04:40
you can see 0 is not there anywhere for the simple
00:04:43
reason that we added a channel to this phrase sum of
00:04:45
array elements, that
00:04:47
is, nothing, but if there are real elements in our array
00:04:50
and we run
00:04:53
this code, then we will be executed and the
00:04:56
array elements we will have calculated let's
00:04:58
return the situation again as if in our
00:05:00
array we will have
00:05:02
what should we do if we still want to
00:05:04
output some default value
00:05:06
if you watched the previous lessons you know
00:05:08
that we also have an operator for
00:05:10
combining dreams and in in the lesson before last, I
00:05:13
mentioned that the union operator has become
00:05:16
very often used precisely with
00:05:19
this operator, the
00:05:21
conditional operator on, so we can
00:05:24
combine them if there
00:05:25
is on in our array, but this code
00:05:28
will not be executed, that is, the method itself
00:05:31
but instead of here this is all this is
00:05:34
all that I will highlight, we will have cash,
00:05:37
respectively, here we can
00:05:38
use the snow union operator and
00:05:41
display the default value; the only
00:05:44
nuance is this expression, we need to put it in
00:05:46
parentheses so that it correctly
00:05:48
recognizes c when concatenating with a
00:05:51
string, we run again all these types of
00:05:53
bugs in array we now knew,
00:05:55
respectively, this operator checks
00:05:57
our array, you see what’s there on and it
00:06:00
will not call the method itself, but as a
00:06:02
result,
00:06:03
instead of this entire expression, we
00:06:06
get cash, then we have a
00:06:09
union operator again, it checks this, the
00:06:12
result sees something cash and substitute the
00:06:14
default value 0 as a result on the
00:06:17
console we receive messages the sum of the
00:06:18
array elements is 0, but if in our
00:06:21
mass I do not have cash and real data
00:06:23
we run de bani
00:06:25
well, the mass is massively three elements antami
00:06:27
with this 23 what will happen in this case is
00:06:30
our array will be checked with
00:06:32
with the help of this operator, he sees that something is
00:06:34
small for me and
00:06:36
the method itself will be called responsibly, then the union operator
00:06:38
again checks everything we
00:06:40
got, he sees that we have the sum of
00:06:42
real numbers, they accordingly, the
00:06:44
default value will not be used
00:06:45
and we will receive a message in the console
00:06:47
about the sum of the elements of the array 6, now let's
00:06:50
look at another example, a typical
00:06:52
situation that will come up
00:06:54
all the time when you develop
00:06:56
applications in the C Cher programming language,
00:06:58
we have a person class here, this is the
00:07:01
same class that we used in the
00:07:03
lesson before last where we showed an example of
00:07:05
working with the union operator snow using
00:07:08
winforms as an example, by the way, today we
00:07:11
will also have approximately winforms
00:07:13
if we look at the implementation of this
00:07:15
class there we have three fields with
00:07:17
their data from the stones moto surname first
00:07:19
name patronymic and in this case we have
00:07:21
added
00:07:22
one more field these are the contacts of this
00:07:24
person these contacts we have implemented them
00:07:27
in a separate class, in this case we
00:07:30
limited ourselves to a phone number and
00:07:32
email. If we return directly to
00:07:34
our code, we see that if we
00:07:37
have created an object of the parsun class, we must
00:07:39
access it through a dot to gain
00:07:42
access to its contacts and then we can
00:07:44
get already access to the phone number
00:07:46
at each of these steps we can
00:07:49
get us a reference exception each
00:07:52
of the objects of this class and the object of the
00:07:56
class Thorson and contracts and background Barr
00:07:59
are reference types, respectively, in each
00:08:03
of these fields
00:08:04
everywhere in each element of this chain we
00:08:06
can stumble upon a but accordingly,
00:08:08
you can get it by removing the community index.
00:08:10
First, let's consider a successful
00:08:13
outcome of the situation. So our task is
00:08:16
to get the phone number of this person
00:08:19
and display it on the console. In this simple
00:08:22
example, again, we are considering
00:08:24
situations when we receive information about this
00:08:26
person from someone from the outside the
00:08:28
database and the cheeks the request does not matter,
00:08:31
accordingly mine how can we
00:08:33
get full information about a person and
00:08:35
partial such, let’s say, in general you can
00:08:38
get cash and accordingly
00:08:39
turning to this field we will get a new
00:08:41
francisco report in this case almost
00:08:44
a stub we have again me
00:08:46
to get we also set the break point ourselves, 24
00:08:49
lines of code, and in this case, in this
00:08:53
implementation of our stub, we actually
00:08:55
get the data that we need, we
00:08:57
return an object of the parson class; it has
00:09:00
created an object of the compact class and,
00:09:02
accordingly, it has a background set
00:09:04
where we printed just such a stub
00:09:06
we easily get access to
00:09:08
this field, that is, the field is
00:09:10
what data we have variable in the background
00:09:12
barr for clarity, I’m just saving
00:09:15
it separately, but in principle we could
00:09:16
immediately enter the information here at the
00:09:18
end, and in the future we
00:09:21
’ll display this number on the console, now let’s look at it
00:09:23
such a situation, we made a request to the
00:09:25
database, let’s say, and instead of a real
00:09:28
object of the person class,
00:09:29
but it was returned to us,
00:09:30
now look here we are trying to
00:09:33
access the contacts field to the telephone
00:09:35
number of the
00:09:37
object classes by forests, but it recognized
00:09:41
that is, we have the first
00:09:44
process for a class object and a real one
00:09:45
there is no data managed on the heap, respectively,
00:09:48
if we try to access the real
00:09:50
data of the person classes, for example kiva
00:09:52
contact to von barr, if they are not there, we
00:09:56
get friends exception dollars,
00:09:57
respectively, in order to
00:09:59
avoid such a situation in this case, we must
00:10:02
check our
00:10:04
personnel object no matter what it is small and so
00:10:07
we have a Dixie class of personnel, we have
00:10:09
not verified anything at all, the console,
00:10:11
of course, we can compose
00:10:12
some code here, let’s say write like this, there
00:10:15
is no data and the case is that in our object the
00:10:18
class a person
00:10:19
had nothing in the possession of the data because the
00:10:21
code was not executed Well, let’s
00:10:23
imagine that now
00:10:25
some object of the class has been returned to us, we also
00:10:28
run our code without any problems and once again the
00:10:31
object was a person as returned, we
00:10:33
get into the body iv we access the class a
00:10:35
person we do not access the contacts,
00:10:37
look what we have now vkontakte
00:10:40
vkontakte we have cash well, he doesn’t have
00:10:42
contacts with us again we get a bang
00:10:45
Fritsek inform accordingly or
00:10:47
here inside you need to add one more
00:10:48
and check the contacts now
00:10:51
on cash and do everything like this or do it
00:10:54
like this to check for the fact
00:10:56
that it’s also summer in anal and contacts do not
00:10:59
equal anal then we won’t need this code
00:11:00
in any case, so the
00:11:02
code expands and let’s move on
00:11:05
now we don’t have cash in person
00:11:07
and in contacts cash this code is not
00:11:09
executed in the body of the if block,
00:11:12
accordingly we will get the output I won’t give it away
00:11:14
now let's add more contacts here, let's
00:11:17
create contacts for him,
00:11:18
but we don't have a phone in the contacts themselves, let's say
00:11:22
we didn't write the logic phone,
00:11:24
let's see what we'll have now, I think
00:11:27
you already guess
00:11:28
that what was filmed in the contacts, we don't have
00:11:30
cash again, we end up in blocks with the
00:11:34
snow brane in the background
00:11:35
accordingly, here we have cash in this
00:11:37
variable and we get
00:11:40
nothing as output, but it’s good that the writeline method of the
00:11:43
console class can work again if
00:11:45
we had to do something else with this phone
00:11:47
and you got another
00:11:49
little reference xf in which case we need to
00:11:51
add one more check and checks
00:11:53
that the equestrian would also be equal,
00:11:55
but thus our code keeps growing,
00:11:57
growing and growing,
00:11:59
to avoid all this, we can
00:12:02
use the conditional operator on
00:12:03
let's now do the same, but
00:12:06
only with the conditional operator we
00:12:08
select this extra code every moment
00:12:11
where do we have the probability that we
00:12:13
will receive
00:12:14
we should use literature as if
00:12:17
look in this case I am standing here
00:12:20
in objects of the person class we will receive cash
00:12:22
let's now run we have
00:12:24
cash there now our conditional operator to
00:12:26
check there is pita but if there is really
00:12:28
cash here this whole chain that
00:12:30
goes further, it will no longer be executed
00:12:32
simply in the background barr nose variable with
00:12:34
its own channel, and then we
00:12:37
will not receive anything on the console, accordingly, since
00:12:39
we have considered the situation when in
00:12:41
this chain and in contacts we may be
00:12:44
in on the phone itself, maybe we
00:12:46
need to check the entire chain
00:12:48
because if somewhere in this
00:12:50
chain we have a new one, we will turn to an
00:12:52
object in which but we will get a new
00:12:54
refrain sex shop, respectively, if
00:12:56
we let’s say there will be a situation like this
00:12:58
when we later have a sannin all the
00:12:59
vkontakte0
00:13:00
and here we do not check our
00:13:02
contacts using the conditional
00:13:04
science operator and here when contacting contacts
00:13:05
we turn to non-existent data and
00:13:08
still receive dollars france
00:13:09
exception that is, in this chain teach
00:13:11
here you need to add
00:13:12
the operator as if in anal in this way
00:13:14
it turns out as if there are some
00:13:18
train cars in order to avoid a crash
00:13:20
we need to follow this chain
00:13:21
pro.ru we are carried out brightly by the staff
00:13:24
if there is no cash then we contact
00:13:27
the contacts and the
00:13:29
contacts are checked on the contacts we knew
00:13:32
so we won’t to
00:13:33
try to access the background field on board
00:13:35
because I simply does not exist and we will
00:13:37
immediately place our background variable
00:13:39
arr temporary value on st but as
00:13:42
you can see with this implementation we do
00:13:44
not get anything in output and here it makes sense to
00:13:46
use the default value a for the
00:13:50
dense value y we have a
00:13:51
union operator knew two question marks, as I
00:13:54
said, these two operators are a
00:13:57
dream union operator, this operator is
00:13:59
conditional in anal, this one is very often
00:14:01
used together, and here we will
00:14:03
write no data if we are in this entire
00:14:05
chain of which we checked using the
00:14:07
conditional operator in the anal
00:14:09
here we never received real
00:14:11
data, that is, we still
00:14:12
have a small one somewhere here in this entire
00:14:15
expression, then our union operator
00:14:18
again looks like this, but also as a
00:14:21
diffuse value we receive messages
00:14:23
no data in this case in our object
00:14:25
person there was information in contacts, he
00:14:28
founded accordingly, further execution did
00:14:29
not go after all this,
00:14:32
I saw the entire operator in the cabin here again, but in this
00:14:34
part of the code and assigned the background barr to the
00:14:36
default value for the output, we received
00:14:38
no data, too, we have initially,
00:14:39
instead of an object of the class Thorsen, we will have
00:14:42
everything work out in exactly the same way, well, we
00:14:44
check the whole chain, if we
00:14:46
have returned decals a person with contacts and a
00:14:49
phone number, this whole chain of
00:14:51
checks for cash will work out for us,
00:14:54
then this operator sees that there is
00:14:57
real data here and in the background barr we get
00:15:00
5 on us board and display it on the console, and
00:15:03
we used this change
00:15:05
to simply clearly see
00:15:06
what kind of real data we get
00:15:09
after processing this entire chain; in
00:15:11
fact, it is not necessary, we can do it right away like this, so we can
00:15:15
learn the amount of code from us
00:15:18
is reduced and we accordingly get
00:15:20
all the checks we need,
00:15:21
now let's look at another
00:15:23
example of working with the conditional operator using the
00:15:25
example found of a simple application
00:15:28
that we wrote on winforms in the
00:15:30
lesson before last, the task of this
00:15:32
application is to display a list of not these
00:15:35
characters and in the lesson before last when you
00:15:37
click on the button In this lesson, we
00:15:39
only received information about the last name, first name and
00:15:41
patronymic. In this lesson, I added
00:15:42
the ability to display contact
00:15:44
information in the form of a phone number if we
00:15:47
press the wound button, we have
00:15:49
almost everything the same, but we just
00:15:51
added the position of the background barr and as
00:15:53
you can see, several characters do
00:15:56
not have such a phone but one of them has a
00:15:57
phone number in this case, for
00:15:59
example, here it’s just a set of numbers, this is
00:16:01
absolutely the same parson class that we
00:16:03
just used, we
00:16:05
can use leggings in the project for
00:16:07
the simple reason that in this project
00:16:10
we have a project connected as a reference
00:16:12
lesson on wf a8 wf this is exactly
00:16:16
the project information that we wrote,
00:16:18
so in this project we have the same
00:16:19
past class that we just
00:16:21
looked at and the only difference is that we
00:16:23
need to add an additional contact field,
00:16:25
here we can contain a telephone
00:16:28
e- mail but email and in this case
00:16:30
without using only a
00:16:31
telephone number and here it is the parsun class itself,
00:16:36
we added in addition to the get full name method
00:16:38
which we used in
00:16:40
the lesson before last to display information here we
00:16:42
will not look again here nothing has
00:16:44
changed we have not yet added a package in the
00:16:46
background barr and here in this method the dialing guide
00:16:48
actually performs the
00:16:50
same checks using the
00:16:52
conditional cash operator, this is done for the
00:16:54
same reason because if we
00:16:56
assume we receive a list of objects of the
00:16:58
flank class from somewhere outside and it is not a fact that there
00:17:01
will be contacts there and it’s not a fact that there
00:17:03
will be a phone number in the contacts;
00:17:04
perhaps there will only be an email or
00:17:06
nothing at all, respectively,
00:17:08
all these checks are implemented in
00:17:10
our attacked, this is Jason Barn,
00:17:12
which returns us the string that
00:17:14
is formed by the communication background bar and,
00:17:15
accordingly,
00:17:17
the same phone number if you have
00:17:19
if it is not there, then the
00:17:21
entry no data will be returned as the default value. The
00:17:23
operating logic is absolutely exactly the
00:17:25
same as
00:17:26
what we used here, but
00:17:28
only here it will be said so in a more
00:17:30
specific example, let’s
00:17:32
look again at the logic that
00:17:34
works for us when we click on the wound button.
00:17:37
we have some small changes, but
00:17:39
first of all it will come out, the chance that
00:17:41
the list of people returns us is our stub, we
00:17:43
modified it in that for one of
00:17:45
them we add another contact, so
00:17:47
we have a certain one, but it is which we don’t
00:17:49
know, a set object is created for it
00:17:52
and the price adds to the more set,
00:17:54
respectively, some people
00:17:56
have a phone number and others don’t. The
00:17:58
experience of these three, firstly, the contact field
00:18:01
will be small and, accordingly, there
00:18:03
will be no phone number there, well out
00:18:05
to 4 will be accordingly, which is why
00:18:08
we need this check if we have
00:18:10
no contacts at all or no
00:18:12
phone number, then
00:18:14
we will display the message
00:18:16
no data, and we have slightly
00:18:19
modified the output of these same messages
00:18:21
in the listbox. This is where we iterate through
00:18:24
the list of all elements of the torso type and
00:18:28
call the get method for each of them full
00:18:31
name and in addition to this, we call get phone
00:18:34
number, respectively, under get background and they
00:18:37
form a record of the surname, first name and
00:18:40
patronymic, and then we returned
00:18:42
the look with the background barr and these are the
00:18:44
results that are returned by 2 of these
00:18:46
methods, we form them into a separate
00:18:47
line through a separator, respectively,
00:18:49
thanks to this we we get this
00:18:52
list of further lessons, we will
00:18:53
look in more detail at desktop
00:18:55
development, including on winforms, and the
00:18:57
entire source code of all the examples that
00:18:59
we considered today for
00:19:01
channel patrons with access to the source code
00:19:03
will be available for lunch and don’t
00:19:05
forget to like it if you like
00:19:06
I liked this lesson, it was
00:19:08
useful and interesting for you if you want
00:19:09
to support my channel financially,
00:19:11
you will find information on how to do this in
00:19:13
the description, I will be glad if you share the
00:19:15
lesson with your friends, and of course, if you are
00:19:17
not subscribed to the channel, then be sure to
00:19:18
subscribe. There is already here and there will be
00:19:20
many more useful and interesting lessons
00:19:22
for you all, thank you for your attention bye

Description:

В этом уроке мы выясним что для чего нужен ОПЕРАТОР УСЛОВНОГО NULL в C# или же оператор ?., а так же как его использовать на примере консольного приложения, а так же на примере десктопного приложения. ✅ ИСХОДНЫЙ КОД УРОКА https://www.patreon.com/posts/iskhodnyi-kod-k-37019291 ✅Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=) ✅Доступ к исходному коду и спонсорство https://www.patreon.com/SimpleCode ✅ https://new.donatepay.ru/@SimpleCode ✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4 ✅ Telegram канал https://t.me/SergeySimpleCode Уроки по программированию ✅Наша группа ВК https://vk.com/smplcode ✅Подписывайтесь на канал https://www.youtube.com/channel/UCtLKO1Cb2GVNrbU7Fi0pM0w

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "ОПЕРАТОР УСЛОВНОГО NULL | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 42"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.