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 回答