数値が範囲の範囲内にあるかどうかを確認する標準的な方法はC#ですか?複数の比較演算子
一般的に、私はint型i
でこれのいくつかのバリエーションを行うだろう:
return (i >= start && i <= end);
このような何かのための構文はありません:
// does not work
return (start <= i <= end);
数値が範囲の範囲内にあるかどうかを確認する標準的な方法はC#ですか?複数の比較演算子
一般的に、私はint型i
でこれのいくつかのバリエーションを行うだろう:
return (i >= start && i <= end);
このような何かのための構文はありません:
// does not work
return (start <= i <= end);
あなたが期待するものに最も近い
ですreturn start <= i && i <= end;
C#には数学的な表記法はありません。演算子は結果を返す関数です。通常、演算子は単項またはバイナリのみです(つまり、3つの引数を渡すことはできません)。あなたが行うことができます
1つのトリックは、拡張メソッドを導入することである。
public static class IntExtensions
{
public static bool WithinRange(this int value, int low, int high)
=> value >= low && value <= high;
}
ので使用量は次のようになります。
return i.WithinRange(start, end);
これは同時に、より詳細な、しかし、よりはっきりしません。下限を含めることを意味しますか?より高い境界を含めることを意味しますか?
提案は、ソフトウェア開発者が知っている構文に固執することです。
回答ありがとうございます。あなたの例では構文がオフになっていますが、 –
最初のスニペットが標準的な方法です。 – itsme86
いいえ、あなたが提案したような構文はありません。 – Amy
私はRubyが第2の方法を可能にすると思いますが、最初の方法はc、C++、Java、およびCで慣用的です。 – Bathsheba