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

関連ページ