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 ความคิดเห็น:
แสดงความคิดเห็น