VB.Net cho mỗi câu lệnh…Tiếp theo, Thoát, Tiếp tục với các ví dụ
VB.Net cho mỗi vòng lặp
VB.Net For Each là lệnh Looping. Bạn nên sử dụng câu lệnh này khi cần lặp lại một tập hợp câu lệnh cho mọi mục bạn có trong bộ sưu tập. Bạn có thể sử dụng nó để thao tác 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
Sản phẩm VB.NET đối với mỗi câu lệnh có cú pháp được đưa ra dưới đây:
For Each item [ As data_type ] In group [ statement(s) ] [ Continue For ] [ statement(s) ] [ Exit For ] [ statement(s) ] Next [ item ]
Ở đây,
- Sản phẩm
item
là biến sẽ được sử dụng để lặp qua tất cả các mục của bộ sưu tập. Nó được yêu cầu trong câu lệnh for each nhưng tùy chọn trong câu lệnh Tiếp theo. - Sản phẩm
data_type
là loạ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. - Sản phẩm
group
là tập hợp các câu lệnh được lặp lại. Nó được yêu cầu. - Sản phẩm
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. - Sản phẩ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. - Sản phẩm
Exit For
sẽ chuyển điều khiển ra khỏi vòng lặp For Each. Nó là tùy chọn. - Sản phẩm
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
Trong ví dụ sau đây cho thấy cách sử dụng For Each Loop trong VB.Net
Bước 1) Tạo một ứng dụng bảng điều khiển mới
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 đây
Sử dụng mã sau để học For Each Loop trong VB.Net
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
Nhấp vào nút Bắt đầu từ thanh trên cùng để chạy mã. Bạn sẽ nhận được kết quả sau:
Đây là ảnh chụp màn hình của mã:
Giải thích mã:
- Tạo một mô-đun có tên Module1.
- Bắt đầu thủ tục phụ chính.
- Tạo một mảng có tên myArray với một bộ 4 số nguyên.
- Tạo một biến số nguyên có tên item.
- Sử dụng biến item để lặp qua các mục của mảng có tên myArray.
- 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.
- Kết thúc vòng lặp For Each.
- 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ổ.
- Kết thúc thủ tục phụ chính.
- Kết thúc mô-đun.
Vòng lặp lồng nhau trong VB.Net
Vòng lặp For Each có thể được lồng vào nhau. Điều này sẽ xảy ra khi chúng ta đặt một vòng lặp For Each bên trong một vòng lặp For Each khác. Hãy để chúng tôi chứng minh điều này bằng cách sử dụ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:
Đây là ảnh chụp màn hình của mã:
Giải thích mã:
- Tạo một mô-đun có tên Module1.
- Bắt đầu thủ tục phụ chính.
- Tạo một mảng có tên nums với một tập hợp các số nguyên.
- Tạo một mảng có tên tên với một tập hợp các tên.
- 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.
- 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.
- 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à).
- Kết thúc vòng lặp For Each bên trong.
- Kết thúc vòng lặp For Each bên ngoài.
- 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ó.
- Kết thúc thủ tục phụ chính.
- 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:
Đây là ảnh chụp màn hình của mã:
Giải thích mã:
- Tạo một mô-đun có tên module1.
- Bắt đầu thủ tục phụ chính.
- Tạo một mảng có tên nums với một tập hợp các số nguyên.
- 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.
- 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.
- Việc bỏ qua 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 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.
- Kết thúc điều kiện If.
- 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.
- 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.
- 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.
- Kết thúc điều kiện If ở trên.
- Kết thúc For… Mỗi câu lệnh.
- 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ó.
- Kết thúc thủ tục phụ chính.
- Kết thúc mô-đun.
Tổng kết
- Câu lệnh For Each được sử dụng để lặp lại mọi mục có trong một bộ sưu tập hoặc một mảng.
- Trong quá trình phát triển, bạn có thể kết hợp câu lệnh For Each với câu lệnh Exit For và Continue For để kiểm soát cách thực hiện việc lặp lại.