vb.net入門 インクリメント デクリメント

      2017/05/12


結論から言うとvb.netではインクリメントとデクリメントはありません。

インクリメントとは1足すやつです。
++i,i++とかですね。

1足せばいいので
i = i + 1
です。

サンプルソース
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As Integer = 0
i = i + 1
MsgBox(i)
End Sub
End Class

デクリメントは1引きます。

1引けせばいいので
i = i - 1
です。

サンプルソース

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As Integer = 0
i = i - 1
MsgBox(i)
End Sub
End Class


++とはインクリメント演算子です。
そもそもインクリメント演算子++はvbではありません。

インクリメント演算子とかはC言語とかです。
インクリメントは前置と後置があります。
前置
++i
後置
i++

そもそもインクリメントを使ったほうがいいのは早いからです。

ウイキから

インクリメント

インクリメント (increment) は、一般には増加という意味だが、コンピュータ用語としては、変数の値を1増やす演算のことである。逆に、1減らす演算はデクリメント (decrement) である。

プロセッサでの扱い[編集]

ループや逐次アドレッシングで使用頻度が極めて高いため、プロセッサレベルで専用のインクリメント命令が用意されていることが多い。

通常、レジスタに数値を加算するには、1ワードで加算命令とレジスタを表し、もう1ワードで加算する数値を表すので、計2ワードが必要だが、インクリメント命令を使えば1ワードで済む。ただし、プロセッサによっては、インクリメント命令は加算命令よりもオペランドの種類が限られる(たとえばアキュムレータのみに可能など)。

アセンブラの中には、1を加算する加算命令をインクリメント命令に最適化するものもある。

vbではダサいですが
i = i + 1
です。

ちなみに似たやつで+=ありますがぜんぜん意味違いますからね。
+=は代入演算子です。

サンプル
Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As Integer = 1
i += i
MsgBox(i)
End Sub
End Class

実行結果
2

iが1だから2になります。

iが2なら4になります。

サンプルソース
Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As Integer = 2
i += i
MsgBox(i)
End Sub
End Class

iが文字列なら同じ値が連結されます。

サンプルソース
Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim i As String = 2
i += i
MsgBox(i)
End Sub
End Class

基礎文法をサンプルコードや文章で解説しています。

変数と型と演算子

インクリメント デクリメント

vb-net入門-三項演算子 IIf関数 If演算子

値型と参照型

構造体

IfとSelect Case条件文

For NextとFor Each条件文

Do While Loop条件文

イベント

イベントハンドラの追加と削除

デリケート

マルチキャストデリケート

ラムダ式

クラス

継承

隠蔽

ポリモーフィズム

抽象クラスと抽象メソッド

インターフェース

ジェネリック

LINQ

例外処理

配列

コレクション

サブルーチンとファンクション

PR



 - 基礎文法 , ,

Translate »