BẮT ĐẦU
RẺ NHÁNH
VÒNG LẶP
LỆNH NHẢY
KIỂU DỮ LIỆU
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Mảng trong Visual Basic (Array)

Trong bài này chúng ta sẽ tìm hiểu kiểu dữ liệu mảng trong Visual Basic, đây còn gọi là kiểu Array, dùng để lưu trữ nhiều dữ liệu tạo thành một danh sách mảng.

Về cơ bản thì mảng là một biến, được dùng để lưu trữ nhiều phần tử có cùng kiểu dữ liệu, và trong bộ nhớ chúng sẽ được lưu trữ gần nhau. Mỗi mảng phải xác định tổng số phần tử lúc khai báo, nên nếu bạn dùng không hết thì trong bộ nhớ nó vẫn được lưu trữ giá trị rỗng.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Các phần tử của mảng sẽ được đánh số thứ tự bắt đầu tư 0, ta gọi đây là chỉ mục của mảng. Chỉ mục này giúp ta có thể truy cập đến một phần tử mong muốn trong mảng.

Hình ảnh dưới đây thể hiện một mảng có n phần tử, và chỉ mục sẽ được đánh từ 0 đến (n-1).

csharp arrays representation png

Bạn biết tại sao phần tử cuối cùng là n-1 không? Tại vì phần tử đầu tiên là 0 nên phần tử cuối cùng sẽ là n-1.

1. Khai báo mảng trong Visual Basic

Để khai báo một mảng (array) thì ta sử dụng cú pháp sau:

Dim array_name As [Data_Type](); 

Ở đây, array_name là tên của mảng và Data_type là kiểu dữ liệu của các phần tử cần lưu trữ trong mảng.

Ví dụ: Sau đây là các cách khác nhau để khai báo một mảng với các kiểu dữ liệu khác nhau bằng ngôn ngữ lập trình Visual Basic.

' Lưu trữ kiểu Int
Dim numbers As Integer()

' Lưu trữ kiểu String
Dim names As String()

' Lưu trữ kiểu Double
Dim ranges As Double()

2. Gán giá trị cho mảng lúc khai báo

Trong Visual Basic, bạn có thể gán giá trị cho các phần tử mảng ngay lúc khai báo, bằng cách sử dụng từ khóa New để khởi tạo Object đúng như kiểu dữ liệu mong muốn.

Sau đây là các cách khác nhau để khai báo và khởi tạo các phần tử của mảng, bằng cách sử dụng từ khóa New trong VB.

' Khai báo và khởi tạo một mảng có kích thước là 5
Dim array As Integer() = New Integer(4) {}

' Khai báo và gán phần tử cùng một lúc
Dim array2 As Integer() = New Integer(4) {1, 2, 3, 4, 5}

' Khởi tạo mảng gồm 5 phần tử sẽ cho biết kích thước của mảng là 5
Dim array3 As Integer() = New Integer() {1, 2, 3, 4, 5}

' Một cách khác để khởi tạo mảng mà không khai báo kích thước
Dim array4 As Integer() = {1, 2, 3, 4, 5}

' Khai báo một mảng, sau đó gán phần tử cho mảng
Dim array5 As Integer()
array5 = New Integer() {1, 2, 3, 4, 5}

Trong ví dụ đầu tiên, chúng ta đã khai báo và khởi tạo một mảng số nguyên với kích thước là 5 , tức là mảng có thể chứa các phần tử từ array[0] đến array[4].

Trong ví dụ thứ hai, chúng ta đã khai báo và khởi tạo một mảng giống như câu lệnh đầu tiên, nhưng gán luôn giá trị cho mảng.

Trong ví dụ thứ ba và thứ tư, chúng ta khởi tạo một mảng với các giá trị, nhưng không chỉ định bất kỳ kích thước cho mảng. Tuy nhiên, kích thước của mảng có thể được xác định bởi số phần tử, vì vậy việc chỉ định số phần tử là không cần thiết nếu trong lúc khai báo chúng ta gán luôn các phần tử cho mảng.

Trong ví dụ thứ năm, chúng ta đã khai báo một mảng mà không cần khởi tạo, và sau đó sử dụng từ khóa New để gán giá trị cho mảng.

Vậy, khi bạn khai báo mảng có kích thước là n thì số cần nhập vào là (n - 1)

Ví dụ: Khai báo 10 phần tử

Dim array As Integer() = New Integer(9) {}

3. Truy cập đến các phần tử trong mảng

Trong Visual Basic, chúng ta có thể sử dụng các vòng lặp for và For Each để duyệt qua các phần tử trong mảng.

Sau đây là đoạn code truy cập đến các phần tử trong mảng bằng cách sử dụng các số chỉ mục.

Dim array As Integer() = New Integer(4) {1, 2, 3, 4, 5}

' Lấy giá trị phần tử thứ 2 (chỉ mục là 1) gán vào biến a
Dim a As Integer = array(1)

' Lấy giá trị phần tử thứ 5 (chỉ mục là 4) gán vào biến b
Dim b As Integer = array(4)

Sau đây là ví dụ về khai báo, khởi tạo và truy cập đến các phần tử trong mảng thông qua chỉ mục trong Visual Basic.

Module Module1
    Sub Main()
        Dim array As Integer() = New Integer(4) {1, 2, 3, 4, 5}
        Console.WriteLine(array(0))
        Console.WriteLine(array(1))
        Console.WriteLine(array(2))
        Console.WriteLine(array(3))
        Console.WriteLine(array(4))
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Trong ví dụ trên, chúng ta đã khai báo và khởi tạo một mảng có 5 phần tử, sau đó truy cập đến các phần tử của mảng bằng cách sử dụng các số chỉ mục.

Chạy chương trình trên sẽ thu được kết quả là:

csharp access arrays with index example result png

4. Truy cập các phần tử mảng bằng vòng lặp For

Bây giờ ta sẽ làm một ví dụ đơn giản, đó là sử dụng vòng lặp for để in ra các phần tử của mảng.

Module Module1
    Sub Main()
        Dim array As Integer() = New Integer(4) {1, 2, 3, 4, 5}
        For i As Integer = 0 To array.Length - 1
            Console.WriteLine(array(i))
        Next
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Trong đó array.Length là độ dài của mảng. Nó trả về tổng số phần tử nên khi lặp tap phải trừ đi 1, bởi chỉ mục bắt đầu từ 0.

5. Truy cập các phần tử mảng bằng vòng lặp For Each

Vòng lặp For Each thì chúng ta không cần phải đếm tổng số phần tử mảng, bởi nó sẽ lặp lần lượt qua các phần tử cho đến phần tử cuối cùng.

Module Module1
    Sub Main()
        Dim array As Integer() = New Integer(4) {1, 2, 3, 4, 5}
        For Each i As Integer In array
            Console.WriteLine(i)
        Next
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Chạy chương trình này ta sẽ thu được kết quả như ví dụ ở phần 3.

6. Mảng hai chiều trong Visual Basic

Cũng như các ngôn ngữ khác, Visual Basic cho phép bạn tạo mảng nhiều chiều để lưu trữ dữ liệu giống như một table.

Thực tế thì ta có thể tạo ra mảng 3 chiều, 4 chiều đều được. Tuy nhiên thực tế thì ta thường sử dụng mảng hai chiều mà thôi. Vì vậy trong phần này mình chủ yếu nói về mảng 2 chiều nhé.

Để khai báo mảng 2 chiều thì ta sử dụng cú pháp sau:

Dim arr As Integer(,) = New Integer(3, 1) {}

Và đây là khai báo mảng ba chiều.

Dim arr1 As Integer(,,) = New Integer(3, 1, 2) {}

Như vậy muốn khai báo mảng n chiều thì đặt n-1 dấu phẩy lúc khai báo.

Sau đây là một vài ví dụ về cách khai báo mảng 2 chiều trong Visual Basic.

' 2 chiều
Dim intarr As Integer(,) = New Integer(2, 1) {{4, 5}, {5, 0}, {3, 1}}

' 2 chiều
Dim intarr1 As Integer(,) = New Integer(,) {{4, 5}, {5, 0}, {3, 1}}

Để truy xuất các phần tử trong mảng hai chiều thì ta phải sử dụng vòng lặp lồng nhau.

Module Module1
    Sub Main()
        ' Two Dimensional Array
        Dim array2D As Integer(,) = New Integer(2, 1) {{4, 5}, {5, 0}, {3, 1}}

        Console.WriteLine("---Mang hai chieu---")
        For i As Integer = 0 To 3 - 1
            For j As Integer = 0 To 2 - 1
                Console.WriteLine("a[{0},{1}] = {2}", i, j, array2D(i, j))
            Next
        Next

        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Trên là hướng dẫn cách sử dụng mảng (array) trong Visual Basic. Hy vọng những ví dụ trên sẽ giúp bạn biết cách xử lý các phần tử của mảng.

Cùng chuyên mục:

Xử lý chuỗi trong Visual Basic

Xử lý chuỗi trong Visual Basic

Dữ liệu String rất quan trọng, nó có thể lưu trữ hầu hết mọi loại…

Lệnh continue trong Visual Basic

Lệnh continue trong Visual Basic

Câu lệnh continue giúp vòng lặp ngay lập tức chuyển sang lần lặp tiếp theo…

Lệnh Exit trong Visual Basic

Lệnh Exit trong Visual Basic

Trong bài này ta sẽ tìm hiểu về lệnh Exit trong Visual Basic

Vòng lặp For Each trong Visual Basic (VB)

Vòng lặp For Each trong Visual Basic (VB)

Trong Visual Basic, vòng lặp For Each dùng để lặp qua các phần tử trong…

Vòng lặp Do While trong Visual Basic (VB)

Vòng lặp Do While trong Visual Basic (VB)

Vòng lặp Do While dùng trong trường hợp bạn chưa biết tổng số lần lặp…

Vòng lặp While trong Visual Basic (VB While Loop)

Vòng lặp While trong Visual Basic (VB While Loop)

Nếu vòng lặp For biết trước được tổng số lần lặp thì vòng lặp While…

Vòng lặp for trong Visual Basic (For Loop)

Vòng lặp for trong Visual Basic (For Loop)

Vòng lặp là một hành động được lặp đi lặp lai nhiều lần, và trong…

Lệnh Select Case trong Visual Basic

Lệnh Select Case trong Visual Basic

Lệnh Select Case dùng trong trường hợp điều kiện rẻ nhánh là một giá trị…

Toán tử ba ngôi trong Visual Basic: If ((condition), exp1, exp2)

Toán tử ba ngôi trong Visual Basic: If ((condition), exp1, exp2)

Nếu bạn đã từng học những ngôn ngữ khác rồi thì không còn quá xa…

Lệnh if else trong Visual Basic: Dùng để rẻ nhánh chương trình

Lệnh if else trong Visual Basic: Dùng để rẻ nhánh chương trình

Trong bài này ta sẽ học cách sử dụng lệnh If Else trong Visual Basic

Các toán tử trong Visual Basic (Operators)

Các toán tử trong Visual Basic (Operators)

Toán tử hay còn gọi là Operators, dùng để tạo ra những biểu thức tính…

Comment trong Visual Basic: Tạo ghi chú trong quá trình code

Comment trong Visual Basic: Tạo ghi chú trong quá trình code

Hầu như ngôn ngữ nào cũng hỗ trợ tính năng comment, và VB cũng không…

Bảng Keywords trong Visual Basic

Bảng Keywords trong Visual Basic

Không chỉ riêng mỗi Visual Basic là có những keywords này, mà mỗi ngôn ngữ…

Các kiểu dữ liệu trong Visual Basic - VB Data Type

Các kiểu dữ liệu trong Visual Basic - VB Data Type

Trong Visual Basic, kểu dữ liệu data type dùng để khai định dạng dữ liệu…

Chương trình Visual Basic Hello World

Chương trình Visual Basic Hello World

Visual Basic có một cú pháp lập trình rất đơn giản.

Cài đặt Visual Studio

Cài đặt Visual Studio

Để cài đặt Visual Basic bạn chỉ cần tải Visual Studio Editor, sau đó cài…

Top