Lập trình VB.Net

Sự khác nhau giữa Or và OrElse là gì ?

Sự khác nhau giữa Or và OrElse là gì ?
Được viết bởi Minh Hoàng

Series lập trình VB.NET, ngôn ngữ lập trình hướng đối tượng .NET Framework

– Khi sử dụng toán tử Or thì sẽ đánh giá cả 2 biểu thức điều kiện, trong khi đó toán tử OrElse chỉ cần biểu thức điều kiện thứ 1 là True thì phép ước lượng sẽ dừng lại. (Vì phép toán Or là True khi chỉ cần 1 trong 2 biểu thức điều kiện là True)

– Minh họa:

Module MinhHoangBlog

    Sub Main()

        ' Dim mystring As String = "Hello World"     ' Khai báo và khởi tạo giá trị
        Dim mystring As String                       ' Khi không khởi tạo giá trị thì giá trị mặc định của kiểu String là Nothing

        ' Vì biến「mystring là Nothing」nên nếu dùng toán tử Or để check thì sẽ bị lỗi「System.NullReferenceException」
        ' khi check đến biểu thức điều kiện thứ 2「mystring.Contains( "Hello" )」
        If mystring Is Nothing Or mystring.Contains( "Hello" ) Then
            ' bla bla
        End If

        ' Còn nếu dùng toán tử OrElse thì biểu thức điều kiện thứ 1:「mystring Is Nothing AndAlso」là TRUE
        ' nên toàn bộ biểu thức so sánh của If là TRUE, do đó KHÔNG CHECK tiếp biểu thức điều kiện thứ 2
        If mystring Is Nothing OrElse mystring.Contains( "Hello" ) Then
            Console.WriteLine( "Hello world" )      ' Output: Hello world
        Else
            ' bla bla
        End If

        Console.ReadKey()

    End Sub

End Module

– Như vậy, chúng ta có thể thấy sử dụng toán tử OrElse sẽ an toàn và hiệu suất nhanh hơn toán tử Or. Tùy trường hợp cụ thể mà chúng ta sẽ áp dụng linh động sử dụng 2 toán tử này.

– Việc sử dụng toán tử OrElse(short-circuits) thì giống với toán tử || của ngôn ngữ C#

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi! Minh Hoàng Blog | Nào cùng vui hehe


Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp người đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[…]

Bình luận của bạn

Be the First to Comment!

avatar
wpDiscuz
Chúc bạn có một cuộc sống ngoại hạng!