Syntax sugar alá If Exists
|
Kolega Bouda se na svém vývojářském blogu zamýšlí nad tím, zda by nebylo dobré rozšířit syntaxi jazyka C# o příkaz ifx
(if exists), který by měl zpřehlednit/zjednodušit zápis if (this.someRef != null) ...
na ifx (this.someRef) ...
, podobně jako to umí ECMAScript.
Můj názor je takový, že v C# by se takovéto konstrukce zavádět neměly. Pokud má někdo averzi k operátorům !
a !=
, ostatně jako já, dá se to obejít jiným syntaktickým cukrem. Ne na úrovni jazyka, ale na úrovni API.
public static class Is {
public static bool Null(object item) {
return item == null;
}
public static bool NotNull(object item) {
return item != null;
}
}
Zápis s použitím této minitřídy by pak vypadal if (Is.NotNull(this.someRef)) ...
. Na jednu stranu je zápis čitelnější i pro necéčkaře, na druhou je o něco delší a je v něm více závorek…
Nebo je tu možnost přejít na Spec#, který podporuje non-nullable types.