Size: a a a

2020 March 26

ДК

Даниил Котов in pro.net
И про точку
источник

ДК

Даниил Котов in pro.net
Тоже
источник

ДК

Даниил Котов in pro.net
Я не знаю
источник

ДК

Даниил Котов in pro.net
Что делает "?."?
источник

С

Сергей in pro.net
something?.Property =
if (something == null)
return null:
else
return something.Property
источник

С

Сергей in pro.net
типа того
источник

С

Сергей in pro.net
упрощенная проверка на null почти то же самое что ?? только с точкой
источник

K

Katz in pro.net
Даниил Котов
Что делает "?."?
добро пожаловать в документацию по первой ссылке гугла,
там же найдешь и другие ответы на вопросы об операторах
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and-
источник

С

Сергей in pro.net
ну а тернарный оператор это сокращенный if else
источник

VL

Vova Lantsov in pro.net
Сергей
это тернарный оператор
Тернарный это ?:, без : это проверка на null

object?.DoSomething();
источник

VL

Vova Lantsov in pro.net
Сергей
ну а тернарный оператор это сокращенный if else
Вообще нет, ?: нельзя использовать без "левой части"

val ? Do1() : Do2();
Так нельзя

var result = val ? Do1() : Do2();
Method(val ? Do1() : Do2());
Так можно
источник

AH

Ayrat Hudaygulov in pro.net
Сергей
ну а тернарный оператор это сокращенный if else
Ах нет
источник

ES

Egor Sidorenko in pro.net
Ayrat Hudaygulov
Ах нет
++++
источник

AH

Ayrat Hudaygulov in pro.net
А вот в фшарпе....
источник

‌‌‍‍‌‏Boo👻 in pro.net
Ayrat Hudaygulov
Ах нет
А как?
источник

IC

Ilya Chernoudov in pro.net
Vova Lantsov
Вообще нет, ?: нельзя использовать без "левой части"

val ? Do1() : Do2();
Так нельзя

var result = val ? Do1() : Do2();
Method(val ? Do1() : Do2());
Так можно
если Do - void, то нельзя
источник

AH

Ayrat Hudaygulov in pro.net
if в C# это стейтмент, в нём можно делать любую дичь, это не экспрешн с возвращаемым значением. Из него можно прыгать на другие конструкции через break; continue; return; goto
там может быть else, а может и не быть. Может быть else if, а может и не быть

тернарка это выражение с возвращаемым значением, типы обоих веток (ОБОИХ, а не одной или трёх) должны быть одинаковые. В ветках нельзя писать стейтменты типа return или там даже банальный Console.WriteLine
источник

AH

Ayrat Hudaygulov in pro.net
короче между ними разница прям колоссальная
источник

R

RA-TA-TATA in pro.net
Ayrat Hudaygulov
if в C# это стейтмент, в нём можно делать любую дичь, это не экспрешн с возвращаемым значением. Из него можно прыгать на другие конструкции через break; continue; return; goto
там может быть else, а может и не быть. Может быть else if, а может и не быть

тернарка это выражение с возвращаемым значением, типы обоих веток (ОБОИХ, а не одной или трёх) должны быть одинаковые. В ветках нельзя писать стейтменты типа return или там даже банальный Console.WriteLine
а в F#?
источник

AH

Ayrat Hudaygulov in pro.net
RA-TA-TATA
а в F#?
а в F# if ... then ... else if ... else ...
это выражение
источник