7 ms·
I too miss discriminated unions in C#. But even more often, I find myself wishing C# blocks were expressions. In F#, I could do this: let x = let z =
by ericsink 3y ago
I too miss discriminated unions in C#.
But even more often, I find myself wishing C# blocks were expressions.
In F#, I could do this:
let x =
let z = whatever
...
value
and z is inside a local scope.
So in C#, I want to do:
var x =
{
var z = whatever;
...
value
};
Maybe it's just me.
- runevault 3y agoNah it isn't just you. I probably use this more in my Rust experience then F# but when I remember it is there it is incredibly valuable.
- WorldMaker 3y agoI'm finding switch expressions filling that gap a lot lately. I've also picked up at some point a bad habit in "borrowing" JS' ugly IIFE pattern in C#. var x = (() => { var z = whatever; ... return value; })(); It is not the most performant way to write that code and if the contents start to get long, refactoring to its own method starts to feel more likely, but in one-off cases, it seems fine for how ugly it is.