C#, VB (& VS. &&) - And VS. AndAlso

30 กรกฎาคม 2554

     เป็นเนื้อหาเกียวกับเทคนิคในการการใช้งานระหว่าง Expression And (&) และ AndAlso (&&) ว่าเหมือนกันหรือแตกต่างกันอย่างไร
     Expression And (&) และ AndAlso (&&) ในภาษา C# และ VB มีหลักการทำงานเหมือนกันทั้ง 2 ภาษาครับ (ในทาง Logic And ต้องเป็นจริงทั้งหมดจึงจะทำงาน คืนค่าเป็น True) โดย คำสั่ง And (&) จำทำการ Execute ทุกๆ Expression ให้ครบทุกตัวก่อนจะนำเนิกกระบวนการทาง Logic แต่ คำสั่ง AndAlso (&&) จำทำการ Expression ทีละตัวพร้อมกับการทำกระบวนการทาง Logic ไปด้วย ซึ่งเป็น Short Circuit โดยจะคืนค่าออกมาเป็น False ทันทีโดยไม่ต้อง Execute ทุกๆ Expression โดยส่วนมากคนที่เขียนภาษา C# จะให้ Expression AndAlso (&&) โดยไม่ได้รู้ตัวอยู่แล้วครับ ไปชม ตัวอย่าง Source Code กันเลยครับ


Source Code C#


//Namespace
//using System;

//ตัวอย่าง And (&)
if(1 = 1 & 1=1)
{
        //Process....
}
else
{
        //Process....
}

//AndAlso (&&)
if(1 = 1 && 1=1)
{
        //Process....
}
else
{
        //Process....
}
Source Code VB
'Namespace
'Imports System

'ตัวอย่าง And
If 1 = 1 And 1 = 1 Then
        //Process....
Else
        //Process....
End If

'AndAlso
If 1 = 1 AndAlso 1 = 1 Then
        //Process....
Else
        //Process....
End If
     ครับในการเลือกใช้ Expression ที่ได้กล่าวมานี้ แนะนำให้เพื่อนๆ ลองเอาไปประยุกต์ใช้กันตามความเหมาะสมของ Logic แต่ละประเภทที่เราต้องการนะครับ

ผิดพลาดประการใดก็ติชมแก้ไขกันนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

About This Blog

เนื้อหาเกี่ยวกับการพัฒนา Program โดยใช้ .Net, C#, VB.

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP