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