C_Sharp-演算子
算術演算子
四則演算
四則演算は一般的なプログラミング言語と同じ表記です。
なお、整数の除算 x / y は、0 に向かって丸められます。
num = 1 + 1;
num = 1 - 1;
num = 1 * 2;
num = 1 / 2;
余り
除算の余りは「%」を用います。
mod = 15 % 4;
累乗(べき乗)
C#でべき乗を計算する場合、System.Math.Pow()メソッドを用います。
VBなどで用いられる「^」演算子は使えません。
double num = System.Math.Pow(2, 3); // 2 ^ 3
インクリメントとデクリメント
++i; // インクリメント
--i; // デクリメント
符号反転
単項演算子「-」を付けることで、符号を反転させることができます。
int x = 10;
int y = -x; // yは-10が代入される。
論理演算
論理演算子
論理和(OR)を計算する場合は「x | y」と記述します。
int num = 0x00FF | 0xFF00; // 0xFFFF(65535)
論理積(AND)を計算する場合は「x & y」と記述します。
int num = 0xFFFF & 0x00FF; // 0x00FF(255)
排他的論理和(XOR)を計算する場合は「x ^ y」と記述します。
int num = 0xF0F0 ^ 0x0F0F; // 0xFFFF(65535)
論理否定を計算する場合は「!x」と記述します。
なお、この演算子は bool 型に対してのみ利用できます
bool rc = !true; // rcは false になる。
補数の計算は「~x」と記述します。
int num = ~0x0004; // -5
シフト演算子
右シフトは連続したビットを右に、左シフトはビットを左にずらします
int a = 2 << 4; // 32
int b = 256 >> 4; // 16
比較演算
比較演算子
比較条件に適合すればtrue、異なるならばfalseを返します。
x == y // x が y と等しいかどうか
x != y // x が y と異なるかどうか
x > y // x が y より大さいかどうか
x < y // x が y より小さいかどうか
x >= y // x が y 以上かどうか
x <= y // x が y 以下かどうか
条件演算子
条件に適合するかどうか(true or false)で、処理を決定します。
「z ? x : y」は「z が true ならば x を、false ならば y を返す」という定義になります。
// 五捨六入
int a = (x > 6) ? 10 : 0;
その他演算子
is演算子
「is」演算子は、データの型を判定する場合に用います。
条件が成立した場合はtrue、成立しない場合にはfalseを返します。
if(3 is int){
System.Console.WriteLine("integer");
}