2012-05-18 4 views
1

есть способ я могу сделать, как это в vb.netИзменения значения переменного при передаче в качестве аргумента (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

Смежные вопросы