เงื่อนข้อตกลงในการใช้บทความนี้
เงี่อนไข
มีอยู่ 2 ประเภทได้แก่
1. เงื่อนไขทางตัวเลข >, <, =
2. เงื่อนไขทางตรรกศาสตร์ and or xor not
ผลของเงื่อนไข Boolean นั้นก็คือ True, False ซึ่งจริงคือ "ไม่เป็น 0" กับ "เป็น 0"
ซึ่งรูปแบบการใช้งานนั้นมีหลากหลายวิธี
If A > B And B > C Then
...
End If
สามารถเขียนแบบบรรทัดเดียวได้
If A > B And B > C Then ...
หรือจะใช้แบบคืนค่าก็ยังได้
Dim X = If(A > B, 1, 0)
ทำซ้ำ
For
เป็นการวนซ้ำแบบระบุค่าได้ ซึ่งสามารถระบุเพิ่มขึ้นหรือลดลงตามจำนวนรอบ
For Lap = 1 to 10
'Lap ก็จะมีค่าเป็น 1 ในรอบแรก และ 2 ในรอบที่สอง เพิ่มขึ้นไปเรื่อยๆ ในแต่ละรอบจนกระทั้งมีค่าเท่ากับ 10
Next
For Each เป็นการวนแบบอ้างอิงจำนวนห้องใน Array ซึ่งในแต่ละรอบนั้นก็จะเป็นห้องต่างๆ ใน Array นั่นเอง
For Each Word In {"Hi", "Hello", "World"}
'Word รอบแรกจะอ้างอิงไปยัง "Hi" รอบที่สองก็ "Hello" และ ก็คือ "World"
Next
Do
เป็นการอ้างอิงแบบระบุเงื่อนไขหรือไม่ก็ได้
ตัวอย่างการวนแบบไม่สิ้นสุด
Do
Loop
While คือเงื่อนไขสำหรับ Do ซึ่งจะหยุดวนเมื่อเงื่อนไขได้ผลเป็น False
Until คือเงื่อนไขสำหรับ Do ซึ่งจะหยุดวนเมื่อเงื่อนไขได้ผลเป็น True
ทั้งนี้ While และ Until สามารถวางไว้หลัง Do หรือ Loop ก็ได้แต่ต้องเลือกที่ไหนที่หนึ่ง แบบใดแบบหนึ่งนะครับ
ทำเมื่อยังมีชีวิต
Do While Me.IsAlive
...
Loop
ทำจนกว่าจะตาย
Do
...
Loop Until Me.IsDead
สำหรับท่านที่เคยเขียนโปรแกรมมาแล้ว
Goto
เป็นหนึ่งในคำสั่งที่โปรแกรมเมอร์ทั้งหลายไม่ว่าจะ VB.net หรือ C# เกลียดกันมาก
หลายคนถึงกับขนานนามว่า Goto is evil แต่แท้จริงแล้วเรากลับใช้มันอยู่โดยไม่รู้ตัวว่าใช้
Goto เป็นคำสั่งสำหรับการข้ามชุดคำสั่งใน Method จะใช้ประกอบกับ
Label ซึ่งเป็นปลายทางอ้างอิงในการข้ามชุดคำสั่งซึ่งจะอยู่ก่อนอยู่หลังคำสั่ง Goto ก็ได้ (อยู่ก่อนก็จะเป็นการย้อนกลับ อยู่หลังก็จะเป็นการข้าม)
Dim A = 0
Goto Jmp
A += 1
A += 1
A += 1
Jmp:
A += 1
แทนที่ A จะมีค่าเท่ากับ 4 เมื่อรันจบ โค๊ดจะข้ามบรรทัดต่างๆ จนกระทั้งไปถึงบรรทัด Jmp: เพราะคำสั่ง Goto ทำให้ A มีค่าเป็น 1
แล้วทำไมต้องรู้เกี่ยวกับ Goto ?
เพราะ Goto นั้นเป็นพื้นฐานของ If, for, do นั่นเองครับ
เนื่องจาก CIL นั้นไม่มีชุดคำสั่งระดับสูงๆ มีแค่ Goto ข้ามไปข้ามมา
ดังนี้ พื้นฐานของ Condition Statement และ Loop Statement จึงเป็น Goto
หากบทความนี้ถูกใจ เป็นประโยชน์ ขอรบกวนผู้อ่านกด [+] ด้วยนะครับ ขอบคุณครับ
[Tutorial] สอนภาษา .Net :: ตอนที่ 06 เงื่อนไข ทำซ้ำและ Goto
เงี่อนไข
มีอยู่ 2 ประเภทได้แก่
1. เงื่อนไขทางตัวเลข >, <, =
2. เงื่อนไขทางตรรกศาสตร์ and or xor not
ผลของเงื่อนไข Boolean นั้นก็คือ True, False ซึ่งจริงคือ "ไม่เป็น 0" กับ "เป็น 0"
ซึ่งรูปแบบการใช้งานนั้นมีหลากหลายวิธี
If A > B And B > C Then
...
End If
สามารถเขียนแบบบรรทัดเดียวได้
If A > B And B > C Then ...
หรือจะใช้แบบคืนค่าก็ยังได้
Dim X = If(A > B, 1, 0)
ทำซ้ำ
For
เป็นการวนซ้ำแบบระบุค่าได้ ซึ่งสามารถระบุเพิ่มขึ้นหรือลดลงตามจำนวนรอบ
For Lap = 1 to 10
'Lap ก็จะมีค่าเป็น 1 ในรอบแรก และ 2 ในรอบที่สอง เพิ่มขึ้นไปเรื่อยๆ ในแต่ละรอบจนกระทั้งมีค่าเท่ากับ 10
Next
For Each เป็นการวนแบบอ้างอิงจำนวนห้องใน Array ซึ่งในแต่ละรอบนั้นก็จะเป็นห้องต่างๆ ใน Array นั่นเอง
For Each Word In {"Hi", "Hello", "World"}
'Word รอบแรกจะอ้างอิงไปยัง "Hi" รอบที่สองก็ "Hello" และ ก็คือ "World"
Next
Do
เป็นการอ้างอิงแบบระบุเงื่อนไขหรือไม่ก็ได้
ตัวอย่างการวนแบบไม่สิ้นสุด
Do
Loop
While คือเงื่อนไขสำหรับ Do ซึ่งจะหยุดวนเมื่อเงื่อนไขได้ผลเป็น False
Until คือเงื่อนไขสำหรับ Do ซึ่งจะหยุดวนเมื่อเงื่อนไขได้ผลเป็น True
ทั้งนี้ While และ Until สามารถวางไว้หลัง Do หรือ Loop ก็ได้แต่ต้องเลือกที่ไหนที่หนึ่ง แบบใดแบบหนึ่งนะครับ
ทำเมื่อยังมีชีวิต
Do While Me.IsAlive
...
Loop
ทำจนกว่าจะตาย
Do
...
Loop Until Me.IsDead
สำหรับท่านที่เคยเขียนโปรแกรมมาแล้ว
Goto
เป็นหนึ่งในคำสั่งที่โปรแกรมเมอร์ทั้งหลายไม่ว่าจะ VB.net หรือ C# เกลียดกันมาก
หลายคนถึงกับขนานนามว่า Goto is evil แต่แท้จริงแล้วเรากลับใช้มันอยู่โดยไม่รู้ตัวว่าใช้
Goto เป็นคำสั่งสำหรับการข้ามชุดคำสั่งใน Method จะใช้ประกอบกับ
Label ซึ่งเป็นปลายทางอ้างอิงในการข้ามชุดคำสั่งซึ่งจะอยู่ก่อนอยู่หลังคำสั่ง Goto ก็ได้ (อยู่ก่อนก็จะเป็นการย้อนกลับ อยู่หลังก็จะเป็นการข้าม)
Dim A = 0
Goto Jmp
A += 1
A += 1
A += 1
Jmp:
A += 1
แทนที่ A จะมีค่าเท่ากับ 4 เมื่อรันจบ โค๊ดจะข้ามบรรทัดต่างๆ จนกระทั้งไปถึงบรรทัด Jmp: เพราะคำสั่ง Goto ทำให้ A มีค่าเป็น 1
แล้วทำไมต้องรู้เกี่ยวกับ Goto ?
เพราะ Goto นั้นเป็นพื้นฐานของ If, for, do นั่นเองครับ
เนื่องจาก CIL นั้นไม่มีชุดคำสั่งระดับสูงๆ มีแค่ Goto ข้ามไปข้ามมา
ดังนี้ พื้นฐานของ Condition Statement และ Loop Statement จึงเป็น Goto
หากบทความนี้ถูกใจ เป็นประโยชน์ ขอรบกวนผู้อ่านกด [+] ด้วยนะครับ ขอบคุณครับ