Size: a a a

2020 March 26

IC

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

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

AH

Ayrat Hudaygulov in pro.net
if true then
   1
else
   "abc"

не скомпилится
источник

AH

Ayrat Hudaygulov in pro.net
такой if в F# можно присваивать в биндинг

let a = 
  if DateTime.Now.Ticks % 2 = 0 then
     "abc"
  else if  DateTime.Now.Ticks % 3 = 0
     "nbsadf"
  else "sadfsgfd"
источник

AH

Ayrat Hudaygulov in pro.net
и внутри фшарпового ифа можно писать блоки кода
источник

AH

Ayrat Hudaygulov in pro.net
if DateTime.Now.Ticks % 2 = 0 then
   Console.WriteLine "side effect"
   "abc"
else "sadfsgfd"
источник

R

RA-TA-TATA in pro.net
зачем тебе вообще C#?
источник

R

RA-TA-TATA in pro.net
в F# все лучше чем в C# :D
источник

AH

Ayrat Hudaygulov in pro.net
RA-TA-TATA
зачем тебе вообще C#?
а я на нём и не пишу
источник

AH

Ayrat Hudaygulov in pro.net
RA-TA-TATA
в F# все лучше чем в C# :D
всё так
источник

IC

Ilya Chernoudov in pro.net
RA-TA-TATA
зачем тебе вообще C#?
дак чтобы критиковать)
источник

IC

Ilya Chernoudov in pro.net
врага нужно знать в лицо
источник

R

RA-TA-TATA in pro.net
сидит тут, переманивает на F#
источник

R

RA-TA-TATA in pro.net
фичи рассказывает
источник

AH

Ayrat Hudaygulov in pro.net
Ilya Chernoudov
врага нужно знать в лицо
ну скорее мажорный язык в экосистеме нужно знать в лицо. Фичи из сишарпа напрямую на фшарп влияют
источник

AH

Ayrat Hudaygulov in pro.net
вот например ебаные нулабл реф тайпы (чисто сишарп фича, но пришлось интеропиться) или дефолтные имплементации в методах (рантайм фича, конски тупая, но пришлось интеропиться)
источник

AH

Ayrat Hudaygulov in pro.net
ну и т.д.
источник

VL

Vova Lantsov in pro.net
Ilya Chernoudov
если Do - void, то нельзя
Нельзя даже если не void
источник

AH

Ayrat Hudaygulov in pro.net
Vova Lantsov
Нельзя даже если не void
да ну не может быть
источник

IC

Ilya Chernoudov in pro.net
Vova Lantsov
Нельзя даже если не void
я про var t = c?Do1():Do2()
источник

R

RA-TA-TATA in pro.net
Ayrat Hudaygulov
да ну не может быть
к сожалению да
источник