2016-08-04 9 views
-1

Zwischen den folgenden Optionen, die die bevorzugte Syntax für das Deklarieren von Arrays in VB.NET ist?Was ist die bevorzugte Syntax für die Deklaration eines Arrays in VB.NET?

  1. Dim numbers1() As Integer

    gegen

  2. Dim numbers2 As Integer()

Der MSDN-Artikel How to: Initialize an Array Variable in Visual Basic erwähnt die zweite Option als die bevorzugte Syntax: Dim chars2 As Char()..., aber die erste Option scheint häufiger in andere Dokumentation. Die zweite Option könnte verwirrend sein, da sie dem Aufruf eines Konstruktors ohne Argumente sehr ähnlich ist.

z.

Dim customer As New Customer() ' Initialize a new Customer

die ähnlich aussieht:

Dim customer As Customer() ' An uninitialized array of Customers

Diese Frage ist ähnlich, aber unterscheidet sich von: Different ways of declaring arrays in VB.NET.

+1

Dies ist eine breite Frage und war auch schon lange eine strittige Frage. 'preferred syntax', die selbst ** hängt ** ...' Dim numbers1() As Integer' Ich würde dies verwenden, um die Array-Grenzen zum Beispiel zu definieren, "Dim numbers1 (5) As Integer" und die andere, wenn ich nicht weiß, was die Grenzen sein könnten. Um ehrlich zu sein 'Dim numbers1() As Integer' und diese' Dim numbers2 As Integer() 'sind die gleichen, kein Unterschied ... sie sind beide Arrays, die keine Grenzen haben (limit). – Codexer

+1

@Zaggler streng genommen 'Dim n (5) Da Int32' keine Deklaration mehr ist, ist es eine Initialisierung und sollte daher außerhalb des Bereichs der Frage liegen. Das heißt, dass es keinen Vorteil mehr gibt, diese erste Syntax zu verwenden (AFAIK ist die einzige andere Stelle, an der die erste Version möglich ist, ist die Argumentdeklaration) und mehr, die zweite ist konsistent mit der anderen Verwendung von "array declaration" (als Rückgabetyp für Eigenschaften oder Funktionen, als generischer Parameter usw.). – Sehnsucht

+0

Danke für Ihre Eingabe. Ich habe gerade die [Visual Basic Coding Conventions] (https://msdn.microsoft.com/en-us/library/h63fsef3.aspx) auf MSDN gefunden, die besagt: "Setzen Sie den Array-Bezeichner auf den Typ, nicht auf die Variable" (zB 'Dim letters4 As String()'). –

Antwort

1

Ich werde hier hereinspielen.

Ich habe mehr von Stil 1 in Code als Stil zwei gesehen, aber es gibt einige kleinere ungerade Inkonsistenzen mit der Syntax, wenn es um Eigenschaften geht.

Meine Theorie ist der Grund, die Klammern nach bevorzugt wird, ist es konsistenter zu machen mit einer Eigenschaft zu erklären, dass ein Array ist

Public Property x As Integer() 'is an array 
Public Property y() As Integer 'is NOT an array 

That being said ... Verwendung Listen :)