2013-05-19 2 views
2

В VB.NET существует ли разница между следующими способами объявления массивов?Различные способы объявления массивов в VB.NET

- Dim cargoWeights(10) as Double 

- cargoWeights = New Double(10) {} 

«Это два независимых заявления. Они не должны выполняться один за другим.

Насколько я знаю, первый из них просто объявляет переменную массива, которая содержит значение «Ничего», пока не будет назначен какой-либо объект массива. Другими словами, он еще не инициализирован.

А как насчет второго заявления? Знак «=» означает, что переменная уже инициализирована и не будет содержать «ничего»? Он будет указывать на одномерный массив из одиннадцати значений по умолчанию Double (0.0)?

EDIT:

По данным сайта MSDN:

В следующем примере объявляется переменная массива, который первоначально не указывать на любой массив.

Dim twoDimStrings (,) As String

(...) переменной twoDimStrings не имеет значение Nothing.

Источник: http://msdn.microsoft.com/en-us/library/18e9wyy0(v=vs.80).aspx

+0

ваше утверждение: «первый из них просто объявляет переменную массива, которая содержит значение« Nothing », пока не будет назначен какой-либо объект массива». это неверно. И вы можете легко проверить это сами ... –

+0

@MitchWheat Итак, как мне понять мою последнюю цитату? – Enrique

ответ

3

Оба Dim cargoWeights(10) as Double и cargoWeights = New Double(10) {} фактически инициализировать массив удваивается с каждыми элементами, установленных по умолчанию значения типа, который в данном случае, 0.0. (Или ничего, если String тип данных)

Разница между двумя синтаксисом является то, что, то второй из них вы можете инициализировать значение каждого элементов в массиве отличается от значения по умолчанию, как:

cargoWeights = New Double(10) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} 

Чтобы объявить неинициализированный массив, используйте Dim cargoWeights() As Double или cargoWeights = New Double() {}.

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