Giới thiệu Lệnh Quyết định

Decision Statements Intro


Decision Statements Demo

Giới thiệu
Cấu trúc quyết định C# cung cấp logic trong mã ứng dụng của bạn cho phép thực thi các phần mã khác nhau tùy thuộc vào trạng thái dữ liệu trong ứng dụng. Bạn có thể hỏi người dùng xem họ có muốn lưu bất kỳ thay đổi nào đối với tệp đang mở trong ứng dụng không. Cấu trúc quyết định cho phép bạn mã hóa hành vi để thực thi dựa trên câu trả lời do người dùng cung cấp. C# sử dụng các câu lệnh có điều kiện để đạt được chức năng này.
Câu lệnh điều kiện chính trong C# là câu lệnh if. Một thay thế cho câu lệnh if là một câu lệnh switch. Như bạn sẽ thấy trong phần trên câu lệnh chuyển đổi, bạn có thể muốn sử dụng nó cho các quyết định phức tạp hơn.

Câu lệnh if
C# Câu lệnh if
Trong C#, nếu các câu lệnh liên quan đến logic Boolean. Nếu câu lệnh là true, khối mã được liên kết với câu lệnh if được thực thi. Nếu câu lệnh là false, điều khiển hoặc rơi vào dòng sau câu lệnh if hoặc sau dấu ngoặc nhọn đóng của khối lệnh if.
Đoạn code sau minh hoạ cho câu lệnh if sẽ được thực thi nếu response có giá trị là yes.
//if statement

string response = "Yes";
if (response == "Yes")
{
    // statements that will execute if the value of the response variable is
    // yes, will be placed here.
}

Lưu ý việc sử dụng dấu ngoặc nhọn trong đoạn code. Bạn có thể loại bỏ các dấu ngoặc nhọn nếu câu lệnh của bạn thực thi là một câu lệnh đơn. C# hiểu rằng nếu không sử dụng dấu ngoặc nhọn, dòng ngay sau if (condition) sẽ được thực thi nếu điều kiện là true. Trái lại (false) thì nó không thực hiện. Để tránh nhầm lẫn về việc dòng nào sẽ thực thi nếu điều kiện là true, một thực tế được khuyến nghị là luôn luôn sử dụng dấu ngoặc nhọn cho câu lệnh if của bạn.
Trong C#, câu lệnh if cũng có thể đi kèm mệnh đề else. Mệnh đề else thực thi khi câu lệnh if là sai (mệnh đề điều kiện trả về giá trị false).
Đoạn code sau đây minh hoạ cho người dùng thấy làm cách nào để sử dụng mệnh đề if else.
//if else Statements

string response;
if (response == "connection_failed")
{
    // Block of code executes if the value of the response variable is "connection_failed".
}
else
{
    // Block of code executes if the value of the response variable is not "connection_failed".
}

Câu lệnh if cũng có thể có đi kèm mệnh đề else. Các mệnh đề được kiểm tra theo thứ tự xuất hiện trong mã sau câu lệnh if. Nếu bất kỳ mệnh đề nào trả về true, khối mã được liên kết với câu lệnh đó sẽ được thực thi và điều khiển rời khỏi khối mã được liên kết với toàn bộ cấu trúc if.
Đoạn code sau minh hoạ cách sử dụng câu lệnh if cùng với mệnh đề else.
//else if Statements

string response;
if (response == "connection_failed")
{
    // Block of code executes if the value of the response variable is "connection_failed".
}
else if (response == "connection_error")
{
    // Block of code executes if the value of the response variable is "connection_error".
}
else
{
    // Block of code executes if the value of the response variable is neither above responses.
}

Bạn có thể tạo nhiều khối else if nếu các khối cần thiết cho logic của bạn hoặc cho đến khi bạn bị lạc lối trong quá nhiều mệnh đề else if. Nếu bạn yêu cầu nhiều hơn mệnh đề else if, bạn có thể muốn xem xét câu lệnh switch, được trình bày ở phần tiếp theo.
The switch Statement

Câu lệnh switch
Nếu có quá nhiều câu lệnh if else, mã có thể trở nên lộn xộn và khó theo dõi. Trong trường hợp này, một giải pháp tốt hơn là sử dụng câu lệnh switch. Câu lệnh switch chỉ đơn giản là thay thế nhiều câu lệnh if khác.
Ví dụ sau đây minh hoạ cho cách có thể sử dụng câu lệnh switch để thay thế một bộ sưu tập các mệnh đề if else.
//switch Statement

string response;
switch (response)
{
   case "connection_failed":
      // Block of code executes if the value of response is "connection_failed".
      break;
   case "connection_success":
      // Block of code executes if the value of response is "connection_success".
      break;
   case "connection_error":
      // Block of code executes if the value of response is "connection_error".
      break;
   default:
      // Block executes if none of the above conditions are met.
      break;
}

Lưu ý rằng có một khối dán nhãn default:. Khối mã này sẽ thực thi khi không có khối nào khác khớp.
Trong mỗi lệnh case, chú ý từ khoá break. Điều này khiến điều khiển nhảy đến cuối switch sau khi xử lý khối mã. Nếu bạn bỏ qua từ khóa break, mã của bạn sẽ không biên dịch. Nếu bạn muốn xử lý nhiều trường hợp với cùng một đoạn mã, bạn có thể sử dụng thiết lập dự phòng tương tự như mã mẫu này.
string response;
switch (response)
{
   case "connection_success":
      // Block of code executes if the value of response is "connection_success".
      break;
   case "connection_failed":
   case "connection_error":
      // Block of code executes if the value of response is "connection_failed"
      // or "connection_error;
      break;
   default:
      // Block executes if none of the above conditions are met.
      break;
}

Nếu bạn đã biết một ngôn ngữ lập trình khác, chẳng hạn như C, cũng sử dụng câu lệnh ép kiểu, bạn có thể nhận thấy rằng trong ngôn ngữ C#, bạn có thể sử dụng các giá trị chuỗi trong câu lệnh chuyển đổi của mình và không phải sử dụng số nguyên hoặc kiểu liệt kê. Các câu lệnh ép kiểu trong C# hỗ trợ các kiểu dữ liệu sau dưới dạng biểu thức:

  • sbyte
  • byte
  • short
  • ushort
  • in
  • uint
  • long
  • ulong
  • char
  • string
  • Enumerations

Post a Comment

Mới hơn Cũ hơn