Синтаксис VB.NET для массивов объектов - PullRequest
2 голосов
/ 22 июня 2009

Что такое синтаксис VB.NET для объявления размера массива объектов во время выполнения?

Чтобы понять, что я имею в виду, пока приведем код:

Private PipeServerThread As Thread()

Public Sub StartPipeServer(NumberOfThreads As Integer)
    ' ??? equivalent of C#
    ' ???   PipeServerThread = new Thread[numberOfThreads];
    ' ??? goes here
    For i = 0 To NumberOfThreads - 1
        PipeServerThread(i) = New Thread(New ThreadStart(AddressOf ListeningThread))
        PipeServerThread(i).Start()
    Next i
End Sub

Я перепробовал несколько вещей, но в итоге просто связал его с синтаксисом создания объекта.

Ответы [ 2 ]

4 голосов
/ 22 июня 2009
PipeServerThread = New Thread(numberOfThreads - 1) { }

В качестве альтернативы:

ReDim PipeServerThread(numberOfThreads - 1)

Помните, что значение в круглых скобках является верхней границей массива в VB.NET (в отличие от C #, где это длина массива).

2 голосов
/ 22 июня 2009

Это должно быть то, что вы хотите:

ReDim PipeServerThread(numberOfThreads - 1)

Вы не можете использовать ключевое слово New, так как компилятор VB.NET интерпретирует это как попытку создать новый экземпляр типа Thread.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...