比較演算子 (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# 言語仕様に関するページの「関係演算子と型検査演算子」のセクションを参照してください。
関連項目
.NET