2017-10-24 21 views
0

パブリック・クラスのForm1のために基本的な2010のVisual ..Toなステートメント

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim password As String, ch As Char 
    Dim i As Integer 
    Dim valid As Boolean = False 
    While valid = False 
     password = InputBox("Please enter your password") 
     For i = 0 To password.Length - 1 
      ch = password.Chars(i) 
      If Not Char.IsLetterOrDigit(ch) Then 
       valid = True 
       Exit For 
      End If 
     Next 
     If valid Then 
      MsgBox("Your new password will be activated immediately") 
     Else 
      MsgBox("your password must contain at least one special symbol") 
     End If 
    End While 
End Sub 

全てこんにちは、パスワード内の記号があるかどうかをチェックします。このプログラムは、私の質問は、(なステートメント(For i = 0 To password.Length - 1)その程度であります - 1)なぜ私たちは-1を書いたのですか?-1を除いてすべてを理解しました、ありがとう

+0

文字列が3文字であれば、Chars(0)、Chars(1)、Chars(2)は使用できますが、Chars(3)は使用できません。 For-Toステートメントは何年も前に設計されていましたが、それはまだ1でカウントを開始するのが一般的でしたが、.NETでは最初の有効なインデックスは常に0です。 –

+0

どういう意味ですか、私は尋ねています(-1)は、文の最後に、(-1)は何をするのですか?なぜ私たちは-1を引​​いたのですか? – cain

答えて

0

そうです、あなたは正しいです。その理由は、vbが0から数え始めているからです.1234を書くとvb 12345となり、-1で最後の数字を取り除いてから、結果として1234が返されます。 Hans Passantさん、ありがとうございます。

関連する問題