2010-02-11 35 views
7

Trong mã này:Điều gì khác nhau giữa các tệp Dim() Khi chuỗi và các tệp Dim là String()?

Dim files() As String = Directory.GetFiles("C:/") 

Dim files As String() = Directory.GetFiles("C:/") 

có sự khác biệt nào giữa các câu không?

+2

Quay lại khi VB không có nhà thầu tham số hóa, tệp Dim là String() là hiển nhiên. Nhưng bây giờ với các nhà xây dựng của nó có lẽ thích hợp hơn để sử dụng các tập tin Dim() như String để tránh nhầm lẫn. – Josh

Trả lời

5

Cả hai đều giống hệt nhau. Nếu bạn sử dụng Reflector, bạn có thể thấy rằng họ được biên dịch sang IL cùng:

.field private string[] files 
3

Chúng tạo ra chính xác điều tương tự - chỉ hai hình thức khai báo thay thế.

2

Cả hai đều giống nhau

Dim files() As String = Directory.GetFiles("C:/") 

Dim files As String() = Directory.GetFiles("C:/") 

Cả hai sẽ khai báo một mảng và lưu trữ tất cả tên tập tin trong C: \ thư mục

0

Thực ra, có sự khác biệt. Ví dụ giải thích mọi thứ:

Class Demo 
    Property X() As Byte 
    Property Y As Byte() 
End Class 

... 

Sub DemoCode() 
    Dim d As New Demo() 
    d.X = New Byte() {} ' !!! invalid 
    d.Y = New Byte() {} ' valid 
End Sub 
Các vấn đề liên quan