Toán tử ba ngôi trong Visual Basic: If ((condition), exp1, exp2)
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 condition
là true thì biểu thức exp1
sẽ được chạy, ngược lai biểu thức exp2
sẽ chạy.
Bài viết này được đăng tại [free tuts .net]
Vì là một toán tử nên nó sẽ phải trả về một giá trị, nên exp1
và exp2
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.