boş birleştirme kabaca çevirir return x, unless it is null, in which case return y
Sık sık ihtiyacım var return null if x is null, otherwise return x.y
kullanabilirim return x == null ? null : x.y;
Fena değil, ama null
ortadaki her zaman beni rahatsız ediyor - gereksiz görünüyor. Şunun gibi bir şeyi tercih ederim return x :: x.y;
, takip eden ::
şeyin ancak öncekinin değilse değerlendirildiği null
.
Bunu boş birleşmenin neredeyse zıttı olarak görüyorum , kısa, satır içi sıfır kontrolüyle karışık bir şekilde, ama C # 'da böyle bir operatör olmadığından [ neredeyse ] eminim.
Böyle bir operatörü olan başka diller var mı? Varsa ne denir?
(Bunun için C # ile bir yöntem yazabileceğimi biliyorum; kullanıyorum return NullOrValue.of(x, () => x.y);
, ancak daha iyi bir şeyiniz varsa, onu da görmek isterim.)