06/04/2021, 14:48

án tử ba ngôi trong Visual Basic: If ((condition), exp1, exp2) - VB căn bản

Trong bài này mình sẽ giới thiệu các bạn toán tử ba ngôi trong Visual Basic, đây là toán tử giúp rút ngắn chương trình từ những lệnh if else đơn giản. Nếu bạn đã từng học những ngôn ngữ khác rồi thì không còn quá xa lạ với thuật ngữ "toán tử ba ngôi", còn nếu bạn là người mới thì cần phải tìm ...

Trong bài này mình sẽ giới thiệu các bạn toán tử ba ngôi trong Visual Basic, đây là toán tử giúp rút ngắn chương trình từ những lệnh if else đơn giản.

Nếu bạn đã từng học những ngôn ngữ khác rồi thì không còn quá xa lạ với thuật ngữ "toán tử ba ngôi", còn nếu bạn là người mới thì cần phải tìm hiểu về lệnh if rồi mới xem bài này nhé.

1. Cú pháp toán tử ba ngôi trong Visual Basic

Trong Visual Basic, toán tử ba ngôi sẽ luôn làm việc với 3 toán hạng. Sau đây là cú pháp xác định toán tử ba ngôi trong ngôn ngữ lập trình Visual Basic.

If((condition), exp1, exp2) 

Giải thích như sau: Nếu biểu thức conditiontrue thì biểu thức exp1 sẽ được chạy, ngược lai biểu thức exp2 sẽ chạy.

Vì là một toán tử nên nó sẽ phải trả về một giá trị, nên exp1exp2 thường là những hàm hoặc phương thức trả về một giá trị.

Thực ra việc sử dụng lệnh if else để thay thế cho toán tử ba ngôi là hoàn toàn được. Tuy nhiên nếu chương trình không quá phức tạp thì việc sử dụng toán tử ba ngôi là rất hợp lý.

Ví dụ dưới đây cho thấy cách sử dụng của cả hai.

Dim x As Integer = 5, y As Integer = 20

Dim result As String
' Dùng lệnh if else
If x > y Then
     result = "x lớn hơn y"
Else
     result = "x bé hơn y"
End If

' Dùng toán tử ba ngôi
result = If((x > y), "x lớn hơn y", "x bé hơn y")

Như bạn thấy, việc sử dụng toán tử ba ngôi trong trường hợp này sẽ rút ngắn được rất nhiều đoạn code. Tuy nhiên, điều này chỉ phù hợp khi đó là những bài toán đơn giản.

2. Ví dụ toán tử ba ngôi trong Visual Basic

Sau đây là ví dụ sử dụng toán tử ba ngôi trong ngôn ngữ lập trình Visual Basic.

Module Module1
    Sub Main()
        Dim x As Integer = 5, y As Integer = 20
        Dim result As String
        result = If((x > y), "x lớn hơn y", "x bé hơn y")
        Console.WriteLine(result)
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Trong ví dụ này thì vì x < y nên biến result sẽ nhận giá trị là "x value less than y".

Như mình đã nói, một số trường hợp code quá dài thì không nên sử dụng toán tử ba ngôi, bởi nhìn vào code sẽ rất rối. Thay vì code ngắn nhưng khó đọc thì ta vẫn thích code dài mà dễ đọc.

Ví dụ sau đây là mình sử dụng toán tử ba ngôi lồng nhau, trông rất khó theo dõi luồng xử lý của Visual Basic.

Module Module1
    Sub Main()
        Dim x As Integer = 20, y As Integer = 20
        Dim result As String
        ' Nested Ternary Operator
        result = If((x > y), "x lớn hơn y", If((x < y), "x bé hơn y", "x bằng y"))
        Console.WriteLine(result)
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Như vậy là mình đã hướng dẫn xong cách sử dụng toán tử ba ngôi trong Visual Basic, đây là toán tử rất hay và nên sử dụng trong những trường hợp đơn giản.

Vũ Văn Thanh

12 chủ đề

2597 bài viết

0