これがバグなのか機能なのかわかりませんでした
For i = 0 To 4
Dim strTest As String
If i = 0 Then
strTest = "test value"
End If
Console.WriteLine(strTest)
Next
ループ内で文字列を宣言すると、その値が維持されないと思いましたが、このコードを実行すると、コンソールに「テスト値」が 5 行表示されます。代わりに、次のように strTest を宣言する場合:
Dim strTest As String= ""
次に、文字列はその値を維持しません。これは、関数が最初に動作することを期待していた方法です。
これはコンパイラによる意図的な動作ですか?