VB.Net Vòng lặp For Each…Next, Exit, Continue

⚡ Tóm tắt thông minh

VB.Net For Each là một vòng lặpping Câu lệnh lặp lại một khối mã một lần cho mỗi phần tử trong mảng hoặc tập hợp, cho phép bạn đọc từng mục một mà không cần lặp lại. tracvua một chỉ mục.

  • 🔁 Mục đích: Lặp lại câu lệnh một lần cho mỗi phần tử trong một tập hợp hoặc mảng.
  • 🧩 Cú pháp: Vòng lặp chạy từ For Each … In đến câu lệnh Next tương ứng.
  • 📚 Bộ sưu tập: Vòng lặp For Each sẽ lặp qua bất kỳ kiểu dữ liệu IEnumerable nào, chẳng hạn như mảng, List và Dictionary.
  • 🪆 Làm tổ: "Mỗi cặp một kiểu" lồng vào nhau, mỗi phần tử bên ngoài khớp với mọi phần tử bên trong.
  • Kiểm soát lưu lượng: Lệnh Exit For thoát khỏi vòng lặp; lệnh Continue For chuyển sang mục tiếp theo.
  • 🤖 Hỗ trợ từ AI: GitHub Copilot và IntelliCode Trong Visual Studio 2026, bạn có thể tự động hoàn thành các vòng lặp For Each khi gõ.

VB.Net cho mỗi vòng lặp

VB.Net cho mỗi vòng lặp

VB.Net For Each là một vòng lặpping Câu lệnh này nên được sử dụng khi bạn cần lặp lại một tập hợp các câu lệnh cho mọi mục trong một tập hợp. Bạn có thể sử dụng nó để thao tác với tất cả các phần tử có trong một tập hợp hoặc mảng.

Cú pháp VB.Net cho mỗi… câu lệnh tiếp theo

VB.Net Câu lệnh For Each có cú pháp như sau:

For Each item [ As data_type ] In group  
    [ statement(s) ]  
    [ Continue For ]  
    [ statement(s) ]  
    [ Exit For ]  
    [ statement(s) ]  
Next [ item ]

Ở đây,

  • item Đây là biến sẽ được sử dụng để lặp qua tất cả các phần tử của tập hợp. Biến này là bắt buộc trong câu lệnh For Each nhưng là tùy chọn trong câu lệnh Next.
  • data_typeloại dữ liệu của phần tử. Nó là bắt buộc nếu mục này chưa được khai báo.
  • group là tập hợp các câu lệnh được lặp lại. Nó được yêu cầu.
  • statement(s) Là tùy chọn. Nó biểu thị một hoặc nhiều câu lệnh sẽ được thực thi cho mọi mục trong nhóm.
  • Continue For sẽ chuyển quyền điều khiển đến đầu vòng lặp For Each. Nó là tùy chọn.
  • Exit For sẽ chuyển điều khiển ra khỏi vòng lặp For Each. Nó là tùy chọn.
  • Next đánh dấu sự kết thúc của vòng lặp For Each. Nó được yêu cầu.

Cách sử dụng cho từng vòng lặp trong VB.Net

Ví dụ sau đây minh họa cách sử dụng vòng lặp For Each trong VB.Net.

Bước 1) Tạo một ứng dụng bảng điều khiển mới.

Bước 2) Sử dụng mã sau:

Module Module1
    Sub Main()
        Dim myArray() As Integer = {10, 3, 12, 23, 9}
        Dim item As Integer
        For Each item In myArray
            Console.WriteLine(item)
        Next
        Console.ReadKey()
    End Sub
End Module

Bước 3) Nhấp vào nút Bắt đầu trên thanh công cụ phía trên để chạy mã. Bạn sẽ nhận được kết quả như sau:

Ví dụ về kết quả của vòng lặp For Each trong VB.Net.

Đây là ảnh chụp màn hình của mã:

Ví dụ mã vòng lặp For Each trong VB.Net.

Giải thích về Code:

  1. Tạo một mô-đun có tên Module1.
  2. Bắt đầu thủ tục phụ chính.
  3. Tạo một mảng có tên myArray với một bộ 5 số nguyên.
  4. Tạo một biến số nguyên có tên item.
  5. Sử dụng biến item để lặp qua các mục của mảng có tên myArray.
  6. In các mục được tìm thấy trong mảng bằng câu lệnh trên trên bảng điều khiển.
  7. Kết thúc vòng lặp For Each.
  8. Tạm dừng cửa sổ bảng điều khiển một lúc để chờ người dùng thực hiện hành động đóng cửa sổ.
  9. Kết thúc thủ tục phụ chính.
  10. Kết thúc mô-đun.

Vòng lặp lồng nhau trong VB.Net

Vòng lặp For Each có thể lồng nhau. Điều này xảy ra khi ta đặt một vòng lặp For Each bên trong một vòng lặp For Each khác. Chúng ta hãy minh họa điều này bằng một ví dụ.

Bước 1) Tạo một ứng dụng bảng điều khiển mới.

Bước 2) Sử dụng mã sau:

Module Module1
    Sub Main()
        Dim nums() As Integer = {12, 23, 35}
        Dim names() As String = {"Guru99", "alice", "antony"}
        For Each n As Integer In nums
            For Each st As String In names
                Console.Write(n.ToString & st & " ")
            Next
        Next
        Console.ReadKey()
    End Sub
End Module

Bước 3) Nhấp vào nút Bắt đầu từ thanh trên cùng để thực thi mã. Bạn sẽ nhận được kết quả sau:

Kết quả đầu ra của vòng lặp For Each lồng nhau trong VB.Net.

Đây là ảnh chụp màn hình của mã:

Ví dụ mã VB.Net về vòng lặp For Each lồng nhau

Giải thích mã:

  1. Tạo một mô-đun có tên Module1.
  2. Bắt đầu thủ tục phụ chính.
  3. Tạo một mảng có tên nums với một tập hợp các số nguyên.
  4. Tạo một mảng có tên tên với một tập hợp các tên.
  5. Tạo một biến n và sử dụng nó để lặp lại các mục có trong mảng có tên nums. Đây là vòng lặp For Each bên ngoài.
  6. Tạo một biến có tên st và sử dụng nó để lặp lại các mục có trong mảng có tên là name. Đây là vòng lặp For Each bên trong.
  7. Kết hợp các mục từ hai mảng. Mỗi mục trong mảng nums sẽ được kết hợp với từng mục trong mảng tên. Hàm ToString giúp chúng ta chuyển đổi các số đọc được từ mảng nums thành chuỗi. Dấu “ ” giúp chúng ta tạo khoảng trống sau mỗi lần kết hợp. Sự kết hợp đã đạt được bằng cách sử dụng & (dấu và).
  8. Kết thúc vòng lặp For Each bên trong.
  9. Kết thúc vòng lặp For Each bên ngoài.
  10. Tạm dừng cửa sổ bảng điều khiển chờ người dùng thực hiện hành động đóng nó.
  11. Kết thúc thủ tục phụ chính.
  12. Kết thúc mô-đun.

VB.Net Thoát và tiếp tục cho câu lệnh

Khi bạn sử dụng câu lệnh Exit For, quá trình thực thi sẽ rời khỏi vòng lặp For Each … Next và quyền điều khiển sẽ được chuyển sang các câu lệnh sau câu lệnh Next.

Khi bạn sử dụng câu lệnh Continue For, quyền điều khiển sẽ được chuyển sang lần lặp tiếp theo của vòng lặp. Hãy để chúng tôi chứng minh điều này bằng một ví dụ:

Bước 1) Bắt đầu bằng cách tạo một ứng dụng bảng điều khiển mới.

Bước 2) Sử dụng mã sau:

Module Module1
    Sub Main()
        Dim nums() As Integer =
    {10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}
        For Each n As Integer In nums
            If n >= 17 And n <= 25 Then
                Continue For
            End If
            Console.Write(n.ToString & " ")
            If n = 37 Then
                Exit For
            End If
        Next
        Console.ReadKey()
    End Sub
End Module

Bước 3) Chạy mã bằng cách nhấp vào nút Bắt đầu từ thanh trên cùng. Bạn sẽ nhận được kết quả sau:

VB.Net Thoát khỏi vòng lặp For và tiếp tục vòng lặp For

Đây là ảnh chụp màn hình của mã:

Ví dụ mã VB.Net: Thoát khỏi vòng lặp và tiếp tục vòng lặp.

Giải thích về Code:

  1. Tạo một mô-đun có tên module1.
  2. Bắt đầu thủ tục phụ chính.
  3. Tạo một mảng có tên nums với một tập hợp các số nguyên.
  4. Tạo một biến có tên n sau đó chúng ta sử dụng nó để lặp lại các phần tử có trong mảng nums.
  5. Sử dụng điều kiện If…Then để kiểm tra giá trị của biến n. Nếu giá trị nằm trong khoảng từ 17 (bao gồm 17) đến 25 (bao gồm 25), việc lặp sẽ chuyển sang mục tiếp theo trong mảng.
  6. Bỏ quaping Việc xử lý các giá trị trên được thực hiện ở đây. Đây là câu lệnh cần thiết để thực hiện thao tác bỏ qua. Điều này có nghĩa là vòng lặp For Each sẽ không chạy đối với các mục bị bỏ qua.
  7. Kết thúc điều kiện If.
  8. In các giá trị thu được từ mảng trên bàn điều khiển. Hàm ToString giúp chúng ta chuyển đổi các giá trị từ số sang chuỗi. ” ” sẽ tạo một khoảng trống sau mỗi giá trị được in.
  9. Kiểm tra biến lặp n xem giá trị của nó có bằng 37 hay không bằng cách sử dụng điều kiện If…Then.
  10. Thoát khỏi vòng lặp For Each khi điều kiện trên đúng, tức là giá trị của n=37. Điều này có nghĩa là việc lặp lại các mục trong mảng sẽ dừng lại.
  11. Kết thúc điều kiện If ở trên.
  12. Kết thúc For… Mỗi câu lệnh.
  13. Tạm dừng cửa sổ bảng điều khiển chờ người dùng thực hiện hành động đóng nó.
  14. Kết thúc thủ tục phụ chính.
  15. Kết thúc mô-đun.

Câu Hỏi Thường Gặp

Vòng lặp For Each không có chỉ mục và chỉ đọc. Vòng lặp For Next sử dụng bộ đếm số, hỗ trợ từ khóa Step và có thể thay đổi các mục theo vị trí.

Không. Vòng lặp For Each chỉ trả về phần tử hiện tại, chứ không phải vị trí của nó. Khi cần chỉ mục, hãy sử dụng vòng lặp For Next với bộ đếm.

Không. Biến vòng lặp chỉ có thể đọc, vì vậy bạn không thể thêm, xóa hoặc gán lại giá trị cho các phần tử trong khi lặp. Thay vào đó, hãy sử dụng vòng lặp For Next.

Bất kỳ kiểu IEnumerable nào, bao gồm cả mảng, Danh sách và Từ điển. Vòng lặp For Each sử dụng bộ liệt kê bên trong, vì vậy một cú pháp duy nhất đọc tất cả chúng.

Phần thân lệnh không bao giờ được thực thi; quá trình thực thi tiếp tục sau khi lệnh Next kết thúc. Trên một tập hợp được đặt thành Nothing, vòng lặp For Each sẽ ném ra ngoại lệ NullReferenceException.

Đối với mảng, vòng lặp For Next có thể nhanh hơn một chút vì For Each thêm chi phí cho việc lặp lại. Sự khác biệt là không đáng kể, vì vậy nên ưu tiên For Each vì tính dễ đọc của mã.

Vâng. Trợ lý GitHub Biến một bình luận bằng tiếng Anh thông thường thành một khối For Each hoàn chỉnh. RevHãy xem xét sao cho các loại bộ sưu tập và loại mục khớp với dữ liệu của bạn.

Đúng vậy. Visual Studio 2026 kết hợp Copilot với intelliCode Hỗ trợ hoàn thành toàn dòng, tự động trong vòng lặp For Each khi bạn gõ.

Tóm tắt bài viết này với: