比較演算子 (C# リファレンス)

< (小なり)> (大なり)<= (以下)、および >= (以上) 比較演算子は、関係演算子とも呼ばれ、そのオペランドの比較に使用されます。 これらの演算子は、整数浮動小数点のすべての数値型によってサポートされています。

注意

==<><=、および >= 演算子の場合、いずれかのオペランドが数値 (Double.NaN または Single.NaN) でない場合、演算結果は false になります。 つまり、NaN の値は、NaN を含む他のどの double (または float) の値を上回ることも、下回ることも、等しいこともありません。 詳細およびサンプルについては、Double.NaN または Single.NaN の参照記事をご覧ください。

char 型では、比較演算子もサポートされています。 オペランドが char 場合は、対応する文字コードが比較されます。

列挙型は比較演算子もサポートします。 同じ列挙型のオペランドで、基になる整数型の対応する値が比較されます。

== および != 演算子 では、そのオペランドが等しいかどうかが確認されます。

小なり演算子 <

左側のオペランドが右側のオペランドより小さい場合、< 演算子から true が返され、それ以外の場合は false が返されます。

Console.WriteLine(7.0 < 5.1);   // output: False
Console.WriteLine(5.1 < 5.1);   // output: False
Console.WriteLine(0.0 < 5.1);   // output: True

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

大なり演算子 >

左側のオペランドが右側のオペランドより大きい場合、> 演算子から true が返され、それ以外の場合は false が返されます。

Console.WriteLine(7.0 > 5.1);   // output: True
Console.WriteLine(5.1 > 5.1);   // output: False
Console.WriteLine(0.0 > 5.1);   // output: False

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

小なりイコール演算子 =<

左側のオペランドが右側のオペランド以下の場合、<= 演算子から true が返され、それ以外の場合は false が返されます。

Console.WriteLine(7.0 <= 5.1);   // output: False
Console.WriteLine(5.1 <= 5.1);   // output: True
Console.WriteLine(0.0 <= 5.1);   // output: True

Console.WriteLine(double.NaN > 5.1);   // output: False
Console.WriteLine(double.NaN <= 5.1);  // output: False

大なりイコール演算子 >=

左側のオペランドが右側のオペランド以上の場合、>= 演算子から true が返され、それ以外の場合は false が返されます。

Console.WriteLine(7.0 >= 5.1);   // output: True
Console.WriteLine(5.1 >= 5.1);   // output: True
Console.WriteLine(0.0 >= 5.1);   // output: False

Console.WriteLine(double.NaN < 5.1);   // output: False
Console.WriteLine(double.NaN >= 5.1);  // output: False

演算子のオーバーロード可/不可

ユーザー定義型は、<><=、および >= 演算子をオーバーロードできます。

ある型で < または > 演算子のいずれかをオーバーロードする場合は、<> の両方をオーバーロードする必要があります。 ある型で <= または >= 演算子のいずれかをオーバーロードする場合は、<=>= の両方をオーバーロードする必要があります。

C# 言語仕様

詳細については、C# 言語仕様に関するページの「関係演算子と型検査演算子」のセクションを参照してください。

関連項目