Menu
CoddyTech

Đánh giá ngắn mạch

Thuộc phần Logic và luồng chương trình trong hành trình C# của Coddy. Bài học 36 trên 66.

Đánh giá đoản mạch là một kỹ thuật tối ưu hóa trong C#, trong đó toán hạng thứ hai của toán tử AND logic (&&) và OR logic (||) chỉ được đánh giá khi cần thiết.

Với phép AND logic (&&), nếu toán hạng đầu tiên là false, kết quả luôn là false, bất kể toán hạng thứ hai là gì:

bool result = false && SomeMethod();

Trong ví dụ này, SomeMethod() sẽ không được gọi vì toán hạng đầu tiên đã là false.

Với toán tử OR logic (||), nếu toán hạng đầu tiên là true, kết quả luôn là true, bất kể toán hạng thứ hai là gì:

bool result = true || SomeMethod();

Ở đây, SomeMethod() sẽ không được gọi vì toán hạng đầu tiên đã là true.

Bạn có thể dùng hành vi này để tránh lỗi, chẳng hạn kiểm tra xem một đối tượng có phải là null hay không trước khi truy cập các thuộc tính của nó:

// An toàn: nếu student là null, chương trình sẽ không đánh giá vế phải
if (student != null && student.Grade > 70)
{
    Console.WriteLine("Student passed!");
}
challenge icon

Thử thách

Dễ

Tạo một phương thức có tên ProcessUserInput nhận hai đối số:

  • Một chuỗi (input)
  • Một số nguyên (minLength)

Phương thức cần:

  1. Kiểm tra xem đầu vào có khác null không
  2. Kiểm tra xem độ dài đầu vào có ít nhất bằng minLength không
  3. Chỉ khi cả hai điều kiện đều đúng, in ra "Valid input: " theo sau là đầu vào
  4. Nếu một trong hai điều kiện không thỏa mãn, in ra "Invalid input"

Dùng phép đánh giá ngắn mạch để tránh mọi khả năng xảy ra NullReferenceException.

Tự làm thử

using System;

class ProcessUserInput
{
    public static void processUserInput(string input, int minLength)
    {
        // Viết code của bạn ở đây
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch C# online