2012-05-18 114 views
1

有没有办法可以在vb.net做这样改变变量值

dim idx = -1 
dim a = array(idx = idx + 1) 
dim b = array(idx = idx + 1) 
dim c = array(idx = idx + 1) 
dim d = array(idx = idx + 1) 

我想那是什么IDX保持在每行后递增,不增加它在一条独立的线上。

谢谢

+0

您可以在使用前'++ idx' 1添加到它,例如'dim a = array(++ idx)' – Writwick

+0

请参阅本文[http://www.dotnetperls.com/preincrement] – Writwick

+3

我不认为VB.net支持++ – bendataclear

回答

3

我不认为VB.Net有这样的事情,但你可以扩展至接近它:

Imports System.Runtime.CompilerServices 

Public Module Module1 

    <Extension()> _ 
    Public Function UpIndex(ByRef value As Integer) As Integer 
    value += 1 
    return value 
    End Function 

End Module 

注意在参数使用ByRef

然后你的电话是这样的:

Dim a = array(idx.UpIndex) 
Dim b = array(idx.UpIndex) 
+0

很棒的主意。干净的代码:)除了它应该是返回值(byref) – UnLoCo