2013-04-08 36 views
7

Hãy nhìn vào đoạn mã sau.,Bắt đầu Index của Mảng trong C# và VB.Net

C#

string[] testString = new string[jobs.Count]; 

tương đương VB.Net

Dim testString() As String = New String(jobs.Count - 1) {} 

Tại sao nó đang dùng 'jobs.Count - 1' thay vì 'jobs.Count' trong vb.net trong khi tạo mảng mới?

+2

Vui lòng xem lại câu hỏi của bạn. Cả hai ví dụ không có ý nghĩa. Cả hai đều không được định nghĩa là mảng. –

Trả lời

13

Trong VB.NET số trong khai báo mảng có nghĩa là "chỉ số tối đa", nhưng trong C# nó có nghĩa là "số nguyên tố"

4

Trong C# mảng có số phần tử mà bạn cung cấp:

string[] array = new string[2]; // will have two element [0] and [1] 

trong VB.NET mảng có số phần tử mà bạn cung cấp, cộng với một (bạn chỉ định giá trị chỉ số max):

Dim array(2) As String // will have three elements (0), (1) and (2) 
2

Bởi vì với mẫu mã C# của bạn,

string testString = new string[jobs.Count]; 

Đó là hàm tạo của một chuỗi chuỗi.

Trong khi với ví dụ VB.Net,

Dim testString As String = New String(jobs.Count - 1) {} 

Bạn đang đề cập với một đối tượng String mới với chiều dài của chuỗi khai báo trong ngoặc đơn.

Nếu bạn muốn tạo một mảng của String trong VB.Net nó phải là như thế này:

Dim testString (jobs.Count) As String 

thấy hỗ trợ liên kết bên dưới: VB.Net C#

Các vấn đề liên quan