Questa invece mi piace un sacco, nonostante purtroppo non sia un’implementazione delle Monad in C#:
public class Foo
{
public void Evaluate( Person person )
{
var number = person?.Addresses?.FirstOrDefault()?.StreetNumber;
}
}
Se diciamo che, dato che StreetNumber è Int32, il tipo di “number” è Nullable<Int32> il resto direi che è abbastanza ovvio. Ci evita una valanga di noiose e rumorose “if”.
.m
Non tutte le feature che vediamo saranno sicuramente implementate, questi post sono basati sui draft pubblicamente disponibili al momento della scrittura