Nattawut Phetmak
Jack of all Trades
ใน Visual Basic ค่าความจริงก็ตรงตัวที่ใช้คำว่า True กับ False ครับ
Dim a, b As Boolean
a = True
b = False
ความแตกต่างที่แปลกประหลาดไปจากภาษาอื่นคือ การ implement ค่า True
ด้วย -1
เนื่องจากบูลีนมีขนาด 16 บิทนั่นเอง
Private Sub Button1_Click(...) Handles Button1.Click
MessageBox.Show(True = -1)
MessageBox.Show(False = 0)
End Sub
ส่วนการดำเนินการทางตรรกะ ก็ใช้คำในภาษาอังกฤษตรงตัวไปมาเช่นกัน
Private Sub Button1_Click(...) Handles Button1.Click
' both this are True
MessageBox.Show(True Or False)
MessageBox.Show(Not False And True)
End Sub
การเปรียบเทียบเท่ากับ จะใช้เครื่องหมาย =
เช่นเดียวกับการกำหนดค่าเลย (ระวังงง) ซึ่งเครื่องหมาย =
ตัวแรกจะถูกมองว่าเป็นการกำหนดค่า (ยกเว้นว่ามันจะถูกวางไว้ในประโยคเปรียบเทียบโดยเฉพาะ) ส่วนเครื่องหมาย =
ตัวถัดๆ มาจะถูกมองว่าเป็นการเปรียบเทียบค่าครับ
ด้วยเหตุผลนี้ มันจึงไม่มีการกำหนดค่าเดียวกันให้ตัวแปรหลายๆ ตัวพร้อมกัน
a = b = False
' a will be set to True
' because b value is False and is equal to False
ส่วนการเปรียบเทียบแบบไม่เท่ากับ, มากกว่า, น้อยกว่าเป็นดังนี้
a = 1 <> 2
' a will be True since 1 is not equal to 2
a = 1 < 2
a = 1 <= 2
b = 1 > 2
b = 1 >= 2
และถึงแม้ตัวแปรที่ไม่ได้กำหนดค่ามาก่อนจะมีค่าเริ่มต้นอยู่ก็ตาม แต่เราก็สามารถตรวจสอบความว่างของมันได้ด้วย Nothing
(ซึ่งก็คือการตรวจว่าตัวแปรนั้นๆ มีค่าเท่ากับค่าเริ่มต้นหรือไม่) ครับ
a = 0 = Nothing
a = "" = Nothing
a = False = Nothing
Dim c As Integer
a = c = Nothing