2016-08-04 60 views
-1

在以下選項中,哪些是在VB.NET中聲明數組的首選語法?在VB.NET中聲明數組的首選語法是什麼?

  1. Dim numbers1() As Integer

  2. 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

+1

這是什麼原因一個廣泛的問題,也是一個長期以來一直存在爭議的問題。 '首選語法'本身**取決於** ...'Dim numbers1()As Integer'我會用這個來指定數組邊界,例如'Dim numbers1(5)As Integer',另一個如果我不知道界限可能是什麼。老實說,Dim numbers1()As Integer'和Dim dim2 As Integer()'是一樣的,沒有區別......它們都是沒有邊界(限制)的數組。 – Codexer

+1

@ Zaggler嚴格地說'Dim n(5)由於Int32'不再是一個聲明,它是一個初始化,所以應該超出問題的範圍。也就是說,使用第一種語法(AFAIK是第一個版本可能用於參數聲明的唯一其他地方)沒有更多優勢,第二種語法與其他使用「數組聲明」(作爲屬性的返回類型或功能,通用參數等)。 – Sehnsucht

+0

感謝您的輸入。我剛剛在MSDN上找到了[Visual Basic編碼約定](https://msdn.microsoft.com/en-us/library/h63fsef3.aspx),其中聲明「將數組標識符放在類型上,而不是放在變量上」 (例如'Dim letters4 As String()')。 –

回答

1

我會在這裏發出響聲。

我已經在代碼中看到了比樣式2更多的樣式1,但是在涉及屬性時,語法與語法有一些小的奇怪的不一致。

我的理論是,優選後的括號內是使其更符合聲明屬性,它是一個數組

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

話雖這麼說...使用列表:)

相關問題