プログラム言語 演算子
比較演算子
==
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) { ~ }
=
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 ~
==
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) { ~ }
==
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
型変換されない
== または 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"
論理演算子
| (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つ目の式を評価する(=無駄)
Or
=
<>
ショートサーキット
AndAlso
OrElse
C#と同じ
C#と同じ
| (Or)
&& (And:ショートサーキット)
|| (Or:ショートサーキット)
== (イコール)
!= (NOTイコール)
三項演算子
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が返る