2016-09-16 11 views
0

数値が範囲の範囲内にあるかどうかを確認する標準的な方法はC#ですか?複数の比較演算子

一般的に、私はint型iでこれのいくつかのバリエーションを行うだろう:

return (i >= start && i <= end); 

このような何かのための構文はありません:

// does not work 
return (start <= i <= end); 
+5

最初のスニペットが標準的な方法です。 – itsme86

+0

いいえ、あなたが提案したような構文はありません。 – Amy

+1

私はRubyが第2の方法を可能にすると思いますが、最初の方法はc、C++、Java、およびCで慣用的です。 – Bathsheba

答えて

0

あなたが期待するものに最も近い

です
return start <= i && i <= end; 
0

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); 

これは同時に、より詳細な、しかし、よりはっきりしません。下限を含めることを意味しますか?より高い境界を含めることを意味しますか?

提案は、ソフトウェア開発者が知っている構文に固執することです。

+0

回答ありがとうございます。あなたの例では構文がオフになっていますが、 –