3

整数に +1 値を追加するにはどうすればよいですか?

何かのようなもの

Do
    If myClientMachineIP.AddressFamily = Sockets.AddressFamily.InterNetwork Then
        Label2.Text = myClientMachineIP.ToString()
    Else
        TextBox2.Text = "IP is not equal to IPv4"
        proov = +1
        TextBox3.Text = proov
    End If
Loop Until proov = 10

proov整数変数に +1 を追加するにはどうすればよいですか?

4

3 に答える 3

7

修正

VB.NET にはインクリメント演算子 ( ++) がないため、最も簡単な方法は、加算代入演算子+= 演算子を使用することです。

proov += 1

もう 1 つの方法は、明示的に値に 1 を追加することです。

proov = proov + 1
于 2013-09-02T09:34:12.777 に答える
2

すでに何度も提案されているように、通常は 1 を追加するだけで十分です。

proov += 1

ただし、変数のインクリメントはアトミック操作ではないため、マルチスレッド アプリケーションの作成を開始すると、これが問題になる可能性があることを知っておく価値があります。

  1. から値を取得します。proov
  2. この値を 1 増やします
  3. 新しい値を格納しますproov

スレッドが 3 つのステップすべてを完了yする前にスレッドが飛び込んだ場合、スレッドは同じことをすることになります。xxy

これが起こらないようにするには、名前空間のInterlockedクラスを変数に使用します。System.ThreadingIncrement()

If myClientMachineIP.AddressFamily = Sockets.AddressFamily.InterNetwork Then
    Label2.Text = myClientMachineIP.ToString()
Else
    TextBox2.Text = "IP does not equal to IPv4"
    TextBox3.Text = Threading.Interlocked.Increment(proov)
End If
于 2013-09-02T11:36:00.023 に答える
1

これを試してみてください:

証明++

また

TextBox2.Text = "IP does not equal to IPv4"
proov = proov + 1
TextBox3.Text = proov
于 2013-09-02T09:34:10.297 に答える