VB.NET Dim vs. New - PullRequest
       13

VB.NET Dim vs. New

2 голосов
/ 22 января 2009

Каковы различия между следующими конструкциями? Почему предпочитаете одно другому?

Номер один:

Dim byteArray(20) as Byte

Номер два:

Dim byteArray() as Byte = new Byte(20) {}

Любая помощь будет оценена.

Спасибо.

Редактировать - Я исправил некоторый код. «ReDim» должен быть «Dim».

Ответы [ 5 ]

2 голосов
/ 14 апреля 2011

Оба одинаковы.

Dim byteArray(20) as Byte создаст массив с 21 элементом

Dim byteArray() as Byte = new Byte(20) {} создаст массив с 20 элементами

2 голосов
/ 22 января 2009

Да, то же самое. Второе утверждение следует избегать, мало кто догадывается, что оно действительно создает массив из 21 элемента. Не то чтобы это было так очевидно из 1-го утверждения ...

2 голосов
/ 22 января 2009

Это то же самое.

Всегда больше, чем 1 способ кожи кошки.

2 голосов
/ 22 января 2009

Они оба выделяют 20 байтов в управляемой куче.

Они оба устанавливают идентификатор 'byteArray', чтобы он указывал на эти байты.

Оператор с оператором "new" (предложение) позволяет инициализировать элементы массива.


Dim byteArray() as Byte = new Byte(20) { 1, 2, 3, 4, 5, 6, ... }

Кстати, чтобы выделить массив без элементов, укажите размер -1 для одного из измерений. Это полезно, если вам нужно получить доступ к таким свойствам, как длина, не выдавая ошибку.

1 голос
/ 22 января 2009

Нет никакой разницы. Redim - это синтаксис переноса, с которым знакомы разработчики vb 6.

...