null coalescence se traduit approximativement à l' return x, unless it is null, in which case return y
J'ai souvent besoin d' return null if x is null, otherwise return x.y
Je peux utiliser return x == null ? null : x.y;
Pas mal, mais c' null
dans le milieu toujours me dérange -- il semble superflu. Je préfère quelque chose comme return x :: x.y;
, d'où ce qui suit l' ::
est évaluée uniquement si ce qui précède, il n'est pas null
.
Je considère que c'est presque le contraire de l'un à null coalescence, genre de mélange avec un laconique, inline null-vérifier, mais je suis [presque] certains qu'il n'existe pas un tel opérateur en C#.
Il existe d'autres langues qui ont un de ces opérateurs? Si oui, quel est-il appelé?
(Je sais que je peux écrire une méthode pour en C#; - je utiliser return NullOrValue.of(x, () => x.y);
, mais si vous avez rien de mieux, j'aimerais voir ça aussi.)