Между следующими параметрами, который является предпочтительным синтаксисом для объявления массивов в VB.NET?Каков предпочтительный синтаксис для объявления массива в VB.NET?
Dim numbers1() As Integer
против
Dim numbers2 As Integer()
В статье MSDN How to: Initialize an Array Variable in Visual Basic упоминает второй вариант в качестве предпочтительного синтаксиса: Dim chars2 As Char()...
, но первый вариант кажется более распространенным в другая документация. Второй вариант может ввести в заблуждение, поскольку он настолько похож на вызов конструктора без аргументов.
E.g.
Dim customer As New Customer() ' Initialize a new Customer
который похож на:
Dim customer As Customer() ' An uninitialized array of Customers
Этот вопрос похож, но отличается от: Different ways of declaring arrays in VB.NET.
Это широкий вопрос, а также был долгим спорным вопросом. 'preferred syntax', который сам ** зависит ** ...' Dim numbers1() As Integer' Я бы использовал это, чтобы указать границы массива, например 'Dim numbers1 (5) As Integer', а другой, если я не знайте, какие границы могут быть. Честно говоря, «Dim numbers1() As Integer' и этот« Dim numbers2 As Integer() »одинаковы, никакой разницы ... они оба являются массивами, которые не имеют границ (ограничений). – Codexer
@ Zaggler строго говоря «Dim n (5) Поскольку Int32' больше не является объявлением, это инициализация, и поэтому он не должен выходить за рамки вопроса. Тем не менее, больше нет преимущества использования этого первого синтаксиса (AFAIK - единственное другое место, где возможно первая версия, - это объявление аргумента) и многое другое, второе согласуется с другим использованием «объявления массива» (в качестве типа возврата для свойств или функции, как общий параметр и т. д.). – Sehnsucht
Спасибо за ваш вклад. Я только что нашел [Visual Basic Coding Conventions] (https://msdn.microsoft.com/en-us/library/h63fsef3.aspx) в MSDN, в котором говорится: «Поместите указатель массива на тип, а не на переменную», (например, 'Dim letters4 As String()'). –