プログラム言語 演算子

比較演算子

bがaに等しい
==

if (a == b) { ~ }

オブジェクトの比較(参照の比較)は「プログラム言語 標準関数(テキスト系)/比較」を参照

bがaに等しくない
!=

if (a != b) { ~ }

bよりaが大きい
>

if (a > b) { ~ }

bよりaが大きいか等しい
>=

if (a >= b) { ~ }

bよりaが小さい
<

if (a < b) { ~ }

bよりaが小さいか等しい
<=

if (a <= b) { ~ }

bがaに等しい
=

If a = b Then ~

オブジェクトbがオブジェクトaに等しい(参照が等しい)
Is

If a Is b Then ~
If a Is Nothing Then ~

オブジェクトの比較(参照の比較)は「プログラム言語 標準関数(テキスト系)/比較」も参照

bがaに等しくない
<>

If a <> b Then ~

オブジェクトbがオブジェクトaに等しくない(参照が等しくない)
Not Is

If Not a Is b Then ~
If Not a Is Nothing Then ~
If a IsNot b Then ~
If a IsNot Nothing Then ~

bよりaが大きい
>

If a > b Then ~

bよりaが大きいか等しい
>=

If a >= b Then ~

bよりaが小さい
<

If a < b Then ~

bよりaが小さいか等しい
<=

If a <= b Then ~

bがaに等しい
==

if (a == b) { ~ }

オブジェクトの比較(参照の比較)は「プログラム言語 標準関数(テキスト系)/比較」を参照

bがaに等しくない
!=

if (a != b) { ~ }

bよりaが大きい
>

if (a > b) { ~ }

bよりaが大きいか等しい
>=

if (a >= b) { ~ }

bよりaが小さい
<

if (a < b) { ~ }

bよりaが小さいか等しい
<=

if (a <= b) { ~ }

bがaに等しい
==

if (a == b) { ~ }

オブジェクトの比較(参照の比較)は「プログラム言語 標準関数(テキスト系)/比較」を参照

bがaに等しくない
!=

if (a != b) { ~ }

bよりaが大きい
>

if (a > b) { ~ }

bよりaが大きいか等しい
>=

if (a >= b) { ~ }

bよりaが小さい
<

if (a < b) { ~ }

bよりaが小さいか等しい
<=

if (a <= b) { ~ }

厳密等価演算子
===

var a = "1";
var b = 1;

var result = (a == b);
result:true
"1"→1へ型変換される

var result = (a === b);
result:false
型変換されない

var a = true;
var b = 1;

var result = (a == b);
result:true
true→1、false→0へ型変換される

var result = (a === b);
result:false
型変換されない

bがaに等しい
== または eq #文字列比較時

if (a == b) { ~ }
if (a eq b) { ~ }

bがaに等しくない
!= または ne #文字列比較時

if (a != b) { ~ }
if (a ne b) { ~ }

bよりaが大きい
> または gt

if (a > b) { ~ }
if (a gt b) { ~ }

bよりaが大きいか等しい
>= または ge

if (a >= b) { ~ }
if (a ge b) { ~ }

bよりaが小さい
< または lt

if (a < b) { ~ }
if (a lt b) { ~ }

bよりaが小さいか等しい
<= または le

if (a <= b) { ~ }
if (a le b) { ~ }

算術演算子

++/–
int num = 10;
Console.WriteLine(++num);
⇒ 11
Console.WriteLine(num);
⇒ 11

num = 10;
Console.WriteLine(num++);
⇒ 10
Console.WriteLine(num);
⇒ 11

++/–
int num = 10;
Console.WriteLine(++num);
⇒ 11
Console.WriteLine(num);
⇒ 11

num = 10;
Console.WriteLine(num++);
⇒ 10
Console.WriteLine(num);
⇒ 11

++/–
int num = 10;
Console.WriteLine(++num);
⇒ 11
Console.WriteLine(num);
⇒ 11

num = 10;
Console.WriteLine(num++);
⇒ 10
Console.WriteLine(num);
⇒ 11

算術演算子
+,-,*,/
% 余り
** べき乗

文字列演算子

「.」接続
"Apply" . ":申し込む" = "Apply:申し込む"

「*」繰り返し
"Apply" * 3 = "ApplyApplyApply"

論理演算子

& (And)
| (Or)
== (イコール)
!= (NOTイコール)

ショートサーキット
if (1==2 && 10==10)
{
  ~
}

1つ目の式が偽の場合、2つ目の式は評価しない
↓と同じ

if (1==2)
{
  // ↑が偽の場合、↓はチェックされない。
  if (10==10)
  {
    ~
  }
}

if (1==2 & 10==10)
{
  ~
}

1つ目の式が偽でも2つ目の式も評価する(=無駄)

if (1==1 || 10==10)
{
  ~
}

1つ目の式が正の時は2つ目の式は評価しない
↓と同じ
if (1==1)
{
  ~
}
elseif (10==10)
{
  ~
}

if (1==1 | 1==2)
{
  ~
}

1つ目の式が正の時でも2つ目の式を評価する(=無駄)

And
Or
=
<>

ショートサーキット
AndAlso
OrElse


C#と同じ


C#と同じ

& (And)
| (Or)
&& (And:ショートサーキット)
|| (Or:ショートサーキット)
== (イコール)
!= (NOTイコール)

三項演算子

プログラム言語 制御文/三項演算子」参照

null合体演算子

string myStr = null;

三項演算子
Console.WriteLine(myStr == null ? @"null" : myStr);
myStr:null → nullを表示 / そうでない場合 → myStrを表示

null合体演算子
Console.WriteLine(myStr ?? @"null");
myStr:null → nullを表示 / そうでない場合 → myStrを表示

string[] str = { "A", "B", "C" };
Console.WriteLine(str.FirstOrDefault(s => s == "D") ?? myStr);
配列の先頭のDを表示。Dが無ければmyStrを表示
Dが無ければnullが返る

演算子のオーバーロード

オブジェクト指向: プロパティ・メソッド/演算子のオーバーロード」参照

CIツール

次の記事

Subversion②