Visual Basic .NET Language
演算子
サーチ…
備考
演算子は、値を代入または比較するために使用されます。それらは単一のシンボルまたはキーワードで構成され、通常は左右の値の間に挟まれます。例: right = left
。
演算子は言語に固有であり( =
など)、System.Mathによって提供されるような関数ではありません。
比較
比較演算子は2つの値を比較し、結果としてブール値( True
またはFalse
)を返します。
平等
- 等号=は、等価比較と代入の両方に使用されます。
If leftValue = rightValue Then
...
不平等
- 左角括弧が右角括弧<>にネストすると、不等な比較が実行されます。
If leftValue <> rightValue Then
...
より大きい
- 左の角括弧<は比較を上回ります。
If leftValue < rightValue Then
...
より大きいまたは等しい
- 左角括弧=>への等号のネストは、より大きいか等しい比較を実行します。
If leftValue =< rightValue Then
...
未満
- 直角括弧>は、比較より小さい値を示します。
If leftValue > rightValue Then
...
より少なくまたは等しい
- 右角括弧=>への等号のネストは、より大きいか等しい比較を実行します。
If leftValue => rightValue Then
...
好き
- Like演算子は、文字列と検索パターンの等価性をテストします。
- 類似演算子は、 オプション比較ステートメント
- 次の表に、使用可能なパターンを示します。ソース: https : //msdn.microsoft.com/en-us/library/swf8kaxw.aspx (備考)
パターン内の文字 | 文字列の一致 |
---|---|
? | 任意の1文字 |
* | 0文字以上 |
# | 任意の1桁(0〜9) |
[charlist] | charlist内の任意の1文字 |
[!charlist] | charlistにない単一の文字 |
- MSDNの詳細については、備考欄を参照してください。
If string Like pattern Then ...
割り当て
VBには1つの代入演算子があります。
- 等号=は、等価比較と代入の両方に使用されます。
Dim value = 5
ノート
代入と等価比較に注意してください。
Dim result = leftValue = rightValue
この例では、等号が他の言語とは異なり、比較演算子と代入演算子の両方として使用されていることがわかります。この場合、 result
はBoolean
型で、 leftValue
とrightValue
間の等価比較の値を含みます。
関連: Option Strict Onを使用して変数を適切に宣言する
数学
次の変数がある場合
Dim leftValue As Integer = 5
Dim rightValue As Integer = 2
Dim value As Integer = 0
加算プラス記号+によって実行されます。
value = leftValue + rightValue
'Output the following:
'7
マイナス符号で行われる減算 - 。
value = leftValue - rightValue
'Output the following:
'3
乗算 *スターシンボル*によって実行されます。
value = leftValue * rightValue
'Output the following:
'10
ディビジョンスラッシュ記号/によって実行されます。
value = leftValue / rightValue
'Output the following:
'2.5
整数部 \バックスラッシュ記号\によって実行されます。
value = leftValue \ rightValue
'Output the following:
'2
Modulus Modキーワードによって実行されます。
value = leftValue Mod rightValue
'Output the following:
'1
^記号で実行される力を上げます。
value = leftValue ^ rightValue
'Output the following:
'25
拡大と縮小
編集が必要です。
演算子のオーバーロード
編集が必要です。
ビット単位
これらはVB.NETのビット演算子です:そして、または、Xor、Not
ビット演算の例
Dim a as Integer
a = 3 And 5
aの値は1になります。結果は3と5を2進数で比較した後に得られます。バイナリ形式では3、バイナリ形式では011、バイナリ形式では5が101です。両方のビットが1の場合、And演算子は1を格納します。ビットのいずれかが0の場合、値は0になります
3 And 5 will be 011
101
---
001
したがって、バイナリ結果は001で、10進数に変換されると答えは1になります。
または演算子は、両方または1ビットが1の場合は1
3 Or 5 will be 011
101
---
111
XOR演算子は、ビットの1つだけが1(両方ではない)
3 Xor 5 will be 011
101
---
110
Not演算子は符号を含むビットを元に戻します
Not 5 will be - 010
文字列連結
文字列の連結は、2つ以上の文字列を1つの文字列変数に結合する場合です。
文字列連結は、 &記号で実行されます。
Dim one As String = "Hello "
Dim two As String = "there"
Dim result As String = one & two
&を使用すると、文字列以外の値は文字列に変換されます。
Dim result as String = "2" & 10 ' result = "210"
常に& (アンパサンド)を使用して文字列の連結を実行します。
これをしないでください
最も簡単な場合は+記号を使用して文字列連結を行うことは可能ですが、決してこれを行うべきではありません。プラス記号の片側が文字列でない場合、Option strictがオフの場合、その動作は非直感的になり、Option strictがオンの場合コンパイラエラーが発生します。検討してください:
Dim value = "2" + 10 ' result = 12 (data type Double)
Dim value = "2" + "10" ' result = "210" (data type String)
Dim value = "2g" + 10 ' runtime error
ここで問題となるのは、 +
演算子が数値型であるオペランドを見ると、プログラマが算術演算を実行し、他のオペランドを同等の数値型にキャストしようとしていると仮定します。他のオペランドが数値(例えば "10")を含む文字列である場合、その文字列は数値に変換され、次に他のオペランドに算術的に加算される。他のオペランドを数値に変換できない場合(たとえば、 "2g")、データ変換エラーのために操作がクラッシュします。 +
演算子は、 両方のオペランドがString
型の場合にのみ文字列連結を実行します。
ただし、 &
演算子は文字列連結用に設計されており、文字列以外の型を文字列にキャストします。