Iteration Statements: Các lệnh lặp khiến các lệnh nhúng bên trong chúng được thực hiện lặp một cơ số lần, tùy thuộc vào điều kiện chấm dứt vòng lặp. Các lệnh này được thực hiện theo thứ tự, trừ khi gặp một lệnh nhảy (Jump Statements: break, continue, goto, return, throw).

Bài viết liên quan:

Kiến thức liên quan:
Trước khi đi vào tìm hiểu các vòng lặp trên, ta ôn lại kỉ niệm với việc tăng, giảm một biến i nào đó (i là cái tên quen thuộc phải không). Với các liệt kê ngắn gọn dưới đây, bạn hãy test lại trong chương trình.
  • int i = 0; //Khai báo biến i kiểu int, giá trị ban đầu là 0
  • i=i+1; //i cộng thêm 1 
  • i+=1; //i cộng thêm 1
  • i++; //i cộng thêm 1, nhưng giá trị nhận được không thay đổi
  • i--; //i trừ đi 1, nhưng giá trị nhận được không thay đổi
  • ++i; //i cộng thêm 1, giá trị nhận được bằng i
  • --i; //i trừ đi i, giá trị nhận được bằng i
Ví dụ:
int i = 0;
Console.WriteLine("I: {0} and I++: {1}", i, i++); //I: 0 and I++: 0
Console.WriteLine("I: {0} and ++I: {1}", i, ++i); //I: 1 and ++I: 2
Console.WriteLine("I: {0} and I++: {1}", i, i++); //I: 2 and I++: 2
Console.WriteLine("I: {0} and I++: {1}", i, i++); //I: 3 and I++: 3
Console.WriteLine("I: {0} and ++I: {1}", i, ++i); //I: 4 and ++I: 5
Console.WriteLine("I: {0} and ++I: {1}", i, ++i); //I: 5 and ++I: 6
Nếu vẫn chưa đủ rõ ràng, bạn có thể xem ví dụ ngắn hơn:
int i = 0;
Console.WriteLine("i: {0}",i); // i: 0

var ra = ++i;
Console.WriteLine("ra: {0}", ra); // ra: 1
var rb = i++;
Console.WriteLine("rb: {0}", rb); // rb: 1

//Final
Console.WriteLine("i: {0}", i); // i: 2
Khi ++i quá trình thực thi như sau:
  • i là biến khởi tạo với giá trị 0
  • Giá trị của i sẽ sao chép vào biến tạm t, có nghĩa t = i tức t = 0
  • t sẽ tăng lên 1 tạo ra một giá trị mới, có nghĩa t + 1, tức 0  + 1 = 1
  • Giá trị mới được gán cho i, có nghĩa i = 1
  • Kết quả trả về của toán tử này là giá trị mới là 1

Khi i++ quá trình thực thi như sau:
  • i là biến khởi tạo với giá trị 0
  • Giá trị của i sẽ sao chép vào biến tạm t, có nghĩa t = i tức t = 0
  • t sẽ tăng lên 1 tạo ra một giá trị mới, có nghĩa t + 1, tức 0  + 1 = 1
  • Giá trị mới được gán cho i, có nghĩa i = 1
  • Kết quả trả về của toán tử này là giá trị của biến tạm t là 0
Mấu chốt để thấy sự khác biệt giữa hai toán tử  ++i hay i++ là nó trả về một kết quả R, cho dù i đã tăng lên 1 nhưng R lại nhận kết quả khác. Bạn dễ gặp sai lầm phổ biến khi sử dụng trong vòng lặp chẳng hạn như while(i++ < 5) bạn thấy i++ nhưng thực chất R mới là kết quả làm việc với 5. OK

Các từ khóa dùng trong vòng lặp:
  • do
  • for
  • foreach
  • in
  • while

do-while

Important: Vòng lặp do-while luôn thực thi một lần trước khi kiểm tra while để tiếp tục hoặc không.
Figure 1: do-while loop
- Vòng lặp do-while, cho phép bạn thực hiện một cơ số vòng lặp cho đến khi nào biểu thức chỉ định không còn thỏa mãn (False) thì kết thúc. Biểu thức này nằm trong while(specified expression evaluates). Chú ý, nếu bạn gán while(true) hoặc không kiểm soát được biến phục vụ cho biểu thức thì vòng lặp này vô tận (infinite loop).
- Có thể dùng: break, return, goto, throw để thoát hoàn toàn khỏi vòng lặp.
- Dùng continue để nhảy tới while và tiếp tục vòng lặp, nếu biểu thức vẫn thỏa mãn (True).

while

Tất nhiên vòng lặp While sẽ kiểm tra điều kiện trước khi thực thi lệnh. Và dừng khi biểu thức là False, bạn cũng có thể sử dụng: break, goto, return, throw để thoát ngay tức thì. Ngoài ra, dùng continue để thoát vòng lặp hiện tại và nhảy tới vòng kế tiếp.
Figure 2: while loop

for

Dùng để duyệt một danh sách, với điều kiện bạn cần biết độ dài của nó. Hoặc đơn giản, bạn chỉ duyệt một số cố định
Figure 3: for loop

foreach-in

Dùng để duyệt một danh sách, theo thứ tự mà không cần thiết lập rườm rà.
Figure 4: foreach-in loop


Editing...
Created: 23/03/2016

thumbnail [C# .NET] Làm Việc Với Vòng Lặp - Iteration Statements

data:label.name author

premiumpng.com

Design Publisher

Download 0
No comments
Template in .PSD format

MR Laboratory License

Free for personal purpose use . More info


Buy Now This Template

No comments:

Post a Comment

Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free

Newer Post Older Post Home

Copyright © 2021 MR Laboratory All rights reserved.

Setting