Chuyển tới nội dung chính

1.4 — 3. Vòng Lặp (Loops)

Mục tiêu bài học

  • Nắm được ý chính của bài và mối liên hệ với module.
  • Áp dụng được kiến thức vào bối cảnh CRM/.NET backend.
  • Sẵn sàng chuyển sang bài kế tiếp với nền tảng chắc chắn.

Nội dung bài học

1.4.1 — for — khi biết số lần lặp

// In danh sách 5 khách hàng được gọi điện hôm nay
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Gọi khách hàng thứ {i}");
}

1.4.2 — while — khi không biết trước số lần lặp

// Nhắc nhở sales gọi lại cho đến khi khách hàng trả lời
int soLanGoi = 0;
bool daTraLoi = false;

while (!daTraLoi && soLanGoi < 3)
{
soLanGoi++;
Console.WriteLine($"Lần gọi thứ {soLanGoi}...");

// Giả lập: lần thứ 3 khách mới trả lời
if (soLanGoi == 3)
daTraLoi = true;
}

Console.WriteLine(daTraLoi ? "Khách đã trả lời!" : "Không liên lạc được, chuyển trạng thái missed.");

1.4.3 — foreach — duyệt qua từng phần tử của danh sách

// Duyệt danh sách email để gửi thông báo
var danhSachEmail = new List<string>
{
"khach1@email.com",
"khach2@email.com",
"khach3@email.com"
};

foreach (string email in danhSachEmail)
{
Console.WriteLine($"Đang gửi email đến: {email}");
}

Khi nào dùng cái nào?

  • for: khi cần chỉ số (index) hoặc biết chính xác số lần lặp.
  • while: khi điều kiện dừng phụ thuộc vào runtime (kết quả I/O, input người dùng...).
  • foreach: khi chỉ cần đọc từng phần tử của collection — đây là cách dùng phổ biến nhất trong thực tế.

Bài tập áp dụng

  1. Tóm tắt bài học bằng ngôn ngữ của bạn.
  2. Liên hệ nội dung với một tình huống thực tế trong dự án.
  3. Đề xuất một cải tiến cụ thể sau khi học bài này.

Tự kiểm tra

  • Bạn có thể giải thích lại nội dung chính trong 2 phút không?
  • Bạn có ví dụ áp dụng thực tế chưa?
  • Bạn biết bước tiếp theo cần học/triển khai là gì không?

Kết luận

Hoàn thành bài này giúp bạn có góc nhìn đầy đủ hơn trước khi đi tiếp trong module.

Điều hướng