1

これは C では簡単ですが、VB ではどうすればよいでしょうか?
これが私が今試していることです。

Dim a As String = "a"
Dim b As String = "b"
Dim c As String = "c"
Dim d As String = "d"

For Each i in {a, b, c, d}
    i = "blah" & i
End For

これは変更のみiであり、基になる変数ではないため、機能しません。

本当に必要なのはポインター!?

4

2 に答える 2

3

VB のFor Eachループは、そのような構造をサポートしていません。それは残念ですが、とにかくもっと良い方法があります。一般的にループを避けるようにしてください。

Dim items = {a, b, c, d}.Select(Function (s) "blah" & s)

そして、それが有効な VB ではない場合 (コレクション初期化子とメソッド呼び出しを組み合わせて…)、次のように動作します。

Dim items = (New List(Of String)() From {a, b, c, d}).Select(Function (s) "blah" & s)
于 2012-10-09T17:59:28.057 に答える
1

ここでは、メモリ内の変数のアドレスの代わりに、配列内の変数のアドレスを使用します。

Dim a As String = "a"
Dim b As String = "b"
Dim c As String = "c"
Dim d As String = "d"
Dim items = {a,b,c,d}

For i As Integer = 0 To items.Length - 1
   items(i) = "blah" & items(i)
于 2012-10-09T17:55:01.993 に答える