Ho sempre desiderato qualcosa di simile. Lo userei molto più spesso dello ??
da solo.
quello che voglio, però, è una forma di operatore che permette di dereference l'oggetto solo se non nullo. Per sostituire questo:
int count = (list != null)? list.Count : 0
con qualcosa di simile:
int count = list??.Count : 0
Che sarebbe particolarmente utile per me con lunghe catene di riferimenti (cattiva progettazione, lo so), ma per esempio
int count = foo??.bar??.baz??.list??.Count : 0
Questo non è attualmente possibile con ??
perché si può solo dire "assegnare a foo, o un'alternativa se null" ma non "assegnare a una proprietà di foo, o un'alternativa se nullo. "
che sarebbe cool! Non sono sicuro che lo supporti ... ma sì, mi piace! – Zoidberg
Questa idea suggerisce che le mie parti di Ruby facciano un formicolio caldo. (Vedi l'operatore Ruby '|| ='.) –