Khi khai báo một mảng byte, sự khác nhau giữa những gì sau đây? Có một, hoặc chỉ là hai cách khác nhau để đi về cùng một điều?Khai báo một mảng byte trong VB.NET
Dim var1 As Byte()
Dim var2() As Byte
Khi khai báo một mảng byte, sự khác nhau giữa những gì sau đây? Có một, hoặc chỉ là hai cách khác nhau để đi về cùng một điều?Khai báo một mảng byte trong VB.NET
Dim var1 As Byte()
Dim var2() As Byte
Không có sự khác biệt.
Quotes từ spec (2003 spec, nhưng cùng trong spec năm 2010 như có thể được tải here):
loại mảng được xác định bằng cách thêm một sửa đổi cho tên loại hiện có.
Biến cũng có thể được khai báo là loại mảng bằng cách đặt công cụ sửa đổi loại mảng hoặc công cụ sửa đổi khởi tạo mảng trên tên biến.
Để rõ ràng, không có giá trị để sửa đổi loại mảng trên cả tên biến và tên loại trong cùng khai báo.
Và dưới đây là những mẫu từ spec cho thấy tất cả các tùy chọn:
Module Test
Sub Main()
Dim a1() As Integer ' Declares 1-dimensional array of integers.
Dim a2(,) As Integer ' Declares 2-dimensional array of integers.
Dim a3(,,) As Integer ' Declares 3-dimensional array of integers.
Dim a4 As Integer() ' Declares 1-dimensional array of integers.
Dim a5 As Integer(,) ' Declares 2-dimensional array of integers.
Dim a6 As Integer(,,) ' Declares 3-dimensional array of integers.
' Declare 1-dimensional array of 2-dimensional arrays of integers
Dim a7()(,) As Integer
' Declare 2-dimensional array of 1-dimensional arrays of integers.
Dim a8(,)() As Integer
Dim a9() As Integer() ' Not allowed.
End Sub
End Module
Và như có thể thấy trong các ý kiến, a1 và a4 làm điều tương tự.
Chúng giống nhau. Bạn có thể xác minh bằng cách xem mã được biên dịch trong bộ phản xạ hoặc bằng cách viết mã đó trong IDE, sau đó di chuột qua từng mã.
Họ đang được báo cáo là "var1() như byte" và "var2() như byte"
mặc dù là người đầu tiên đã được khai báo với cú pháp thay thế.