Для пользователей Windows нет необходимости снова загружать установщик. Просто выполните следующие действия:
Подождите, пока вы закончите установку.
VB 0-индексируем в объявлениях массива , таким образом, seomthing как Dim myArray(10) as String
дает Вам 11 элементы. Это - частая ошибка при переводе из языков C.
Так, для пустого массива, любое из следующего работало бы:
Dim str(-1) as String ' -1 + 1 = 0, so this has 0 elements
Dim str() as String = New String() { } ' implicit size, initialized to empty
Массив Вы созданный Dim s(0) As String
НЕ ПУСТЫ
В VB.Net, нижний индекс, который Вы используете в массиве, является индексом последнего элемента. VB.Net по умолчанию начинает индексировать в 0, таким образом, у Вас есть массив, который уже имеет один элемент.
необходимо вместо этого попытаться использовать System.Collections.Specialized.StringCollection
или (еще лучше) System.Collections.Generic.List(Of String)
. Они составляют в значительной степени то же самое как массив строки, кроме они - загрузки лучше для добавления и удаления объектов. И давайте будем честны: Вы будете редко создавать пустой массив строк, не желая добавить [по крайней мере 116] один элемент к нему.
, Если Вы действительно хотите массив пустой строки, объявите его как это:
Dim s As String()
или
Dim t() As String
Что-то как:
Dim myArray(9) as String
дал бы Вам массив 10 Строковых ссылок (каждый указывающий ни на Что).
, Если Вы не уверены в размере во время объявления, можно объявить Массив строк как это:
Dim myArray() as String
И затем можно указать на него на правильно измеренный массив строк позже:
ReDim myArray(9) as String
ZombieSheep прав относительно использования Списка, если Вы не знаете общего размера, и необходимо динамично заполнить его. В VB.NET, который был бы:
Dim myList as New List(Of String)
myList.Add("foo")
myList.Add("bar")
И затем получить массив из того Списка:
myList.ToArray()
@Mark
спасибо за исправление.
Не уверенный, почему Вы хотели бы, но путь C# будет
string[] newArray = new string[0];
, я предполагаю, что VB не будет слишком отличаться от этого.
при создании пустого массива, таким образом, можно заполнить его со значениями позже, действительно необходимо рассмотреть использование
List<string>
и преобразование его к массиву (при реальной необходимости в нем как в массиве) с
newListOfString.ToArray();