とできるだけ簡潔になろうとしています。x値とy> Xを持っている場合 その後、より簡潔にするために何かを私は、xがNULL可能int型</p> <p>英語ですC#で次のテストを表現するより簡潔な方法を探していますC#
C#の操作を行います。
if(x.HasValue && y > x)
同様に、私はNULL可能ブール値をデフォルトしたい場合(x)はfalseに私が書くかもしれない:
if(x ?? false)
{
//x is true
}
else
{
//x is either null or false
}
代わりに:それは明確に言及しないように、あるよう
if(x.HasValue() && x == true)
感謝
持ち上げられた比較演算子は、どちらかのオペランドがnullの場合にfalseを返すものとして定義されています。オペランドに値があるかどうかを確認する必要はありません。詳細は、C#4仕様のセクション7.3.7を参照してください。 –
"if(x.HasValue && y> x)"はおそらくそれほど簡潔ではありません。特定の点では、より単純化は実用的ではなく、場合によってはコードの読みやすさを低下させる可能性があります。 –