เขยี นโปรแกรมภาษา C#
สาํ หรบั ผูเ้ ร่ิมตน้ 2021
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
เหมาะสาํ หรับ
- ผูท้ ่ีสนใจเรยี นรู้การเขยี นโปรแกรมภาษา C# ดว้ ยตนเอง
- ปูพน้ื ฐานการเขยี น Script C# ใชง้ านในโปรแกรม Unity
- ไมม่ คี วามรู้เรอื่ งการเขยี นโปรแกรมกเ็ รยี นได้
- เน้ือหาท้งั หมดเรยี นฟร!ี !
Introduction
ในปจั จุบันการเขยี นโปรแกรมตระกูล .NET ไม่ได้มแี คก่ ารพัฒนา
โปรแกรมบน Desktop เท่าน้ัน แตร่ วมไปถึงการพัฒนาโปรแกรมบนเว็บ
และในมอื ถอื ดว้ ย ซ่ึงใน Visual Studio กร็ องรับการเขยี นโปรแกรม
ท้ัง 3 รูปแบบนี้ด้วย ได้แก่
- พฒั นาโปรแกรมบน Desktop โดยใช้สว่ นของ Window Form App
- พฒั นาโปรแกรมบนเว็บ เชน่ ASP.NET Core MVC เปน็ ตน้
- พัฒนาโปรแกรมบนสมาร์ทโฟน เชน่ Xamarin เปน็ ต้น
ขอบเขตของเนื้อหา
- โครงสร้างและไวยากรณ์ภาษารวมถงึ
ทฤษฎกี ารเขยี นโปรแกรมดว้ ยภาษา C#
- แกโ้ จทย์ปญั หาเพอ่ื นําความรูไ้ ปใชง้ านจรงิ ได้
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
เคร่อื งมอื ท่ีใช้
- Visual Studio Community (Free for Student)
โครงสร้างคําส่งั ภาษา C#
using System; //เรียกใช้ Namespace
namespace BasicProgramming { // Namespace
class Program{ //ชอ่ื คลาส
static void Main(string[] args){ // เมธอด main
//คําส่งั ตา่ งๆ
}
}
}
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
องค์ประกอบพื้นฐาน
- ขอบเขต (Block) ใชส้ ญั ลกั ษณ์ {} เพื่อบอกขอบเขตการทาํ งาน
ของกล่มุ คาํ ส่งั วา่ มจี ุดเร่ิมตน้ และสน้ิ สดุ ที่ตําแหน่งใด
- เคร่อื งหมายสน้ิ สดุ คาํ ส่งั ใชส้ ญั ลักษณ์ ;
- คาํ อธิบาย (Comment) ใชส้ ญั ลักษณ์ // หรือ /* */
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การแสดงผลทางจอภาพ
คําส่งั สาํ หรับแสดงขอ้ มลู ออกทางจอภาพประกอบ
ดว้ ย 2 คําส่งั ไดแ้ ก่ Write , WriteLine มโี ครงสรา้ งดงั น้ี คอื
Write(ขอ้ ความ/ตวั เลข/ตวั แปร/เมธอด/ตวั ดาํ เนินการ)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การแสดงผลทางจอภาพ
คาํ ส่งั สาํ หรับแสดงขอ้ มลู ออกทางจอภาพประกอบดว้ ย
2 คาํ ส่งั ไดแ้ ก่ Write , WriteLine มโี ครงสรา้ งดงั นี้ คอื
WriteLine(ขอ้ ความ/ตวั เลข/ตวั แปร/เมธอด/ตวั ดาํ เนินการ)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
ตวั อยา่ งเช่น
Console.Write(‘A’)
Console.Write(‘KongRuksiam’)
Console.Write(100)
Console.Write(100+100)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การใชป้ กี กาบอกลําดบั การแสดงผล
Console.Write(“ชอื่ ของฉัน คือ {0}”,”Kong”)
Console.Write(“ชอ่ื ของฉัน คอื {0} อายุ {1}”,”กอ้ ง”,25)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การเขยี นคําอธิบาย (Comment)
วิธีท่ี 1 โดยใชเ้ คร่ืองหมาย Slash ( / ) ใชใ้ นการอธิบายคาํ ส่งั ส้นั ๆในรูป
แบบบรรทดั เดยี ว
วธิ ีที่ 2 เขียนคาํ อธิบายไว้ในเครื่องหมาย /* … */ ใชใ้ นการอธิบายคาํ ส่งั
ยาวๆหรือแบบหลายบรรทัด
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
ตวั แปรและชนิดขอ้ มลู
ตวั แปร คอื ชอื่ ทถี่ กู นิยามข้นึ มาเพอ่ื ใชเ้ กบ็ คา่ ขอ้ มลู สาํ หรับ
นําไปใชง้ านในโปรแกรมโดยขอ้ มลู ประกอบดว้ ย ขอ้ ความ
ตวั เลข ตวั อักษร หรือผลลพั ธ์จากการประมวลผลขอ้ มลู
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
Data Type คําอธิบาย Class และขนาด Bit
boolean คา่ ทางตรรกศาสตร์ 8 (เก็บค่า True /False)
byte ตัวเลขทไ่ี ม่มจี ุดทศนิยม SByte(8)
short Int16
ตัวเลขทไ่ี ม่มีจุดทศนิยม
int Int32
long ตวั เลขท่ีไมม่ จี ุดทศนิยม Int64
float ตัวเลขที่ไมม่ จี ุดทศนิยม Single(32)
double ตัวเลขทม่ี ีจุดทศนิยม Double (64)
char ตัวเลขท่มี ีจุดทศนิยม Char(16)
ตัวอักษร
ชนดิ ขอมูลจะเปนตัวกาํ หนดคา ท่สี ามารถเกบ็ ไดในตัวแปร
ยงิ่ จํานวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คาไดม ากเทาน้ัน
Data Type คา่ ตาสดุ ค่าสงู สดุ
boolean คา่ ทางตรรกศาสตร์ 8 (เกบ็ คา่ True /False)
byte -128 127
short -32768 32767
int -2147483648 2147483647
long
float -9223372036854775808 9223372036854775807
double
char 1.4E-45 3.4028235E38
4.9E-324 1.7976931348623157E308
--
ชนิดขอมูลจะเปน ตัวกําหนดคาท่สี ามารถเกบ็ ไดใ นตัวแปร
ย่ิงจาํ นวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คา ไดมากเทาน้นั
การนิยามตวั แปร
ชนิดขอ้ มลู ชอ่ื ตวั แปร ;
ชนิดขอ้ มลู ชอื่ ตวั แปร = คา่ เร่ิมตน้ ;
ใหน ําคาทางขวามอื ของเครอ่ื งหมาย = ไปเกบ็ ไวในตัวแปรที่อยดู านซายมือ
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
จํานวนเตม็ และจํานวนทศนิยม
int x = 10; double y = 10.24; float a=3.99f
หรือ หรือ หรือ
int x; double y; float a;
x=10; y=10.24 a=3.99f
ใหนาํ คา ทางขวามอื ของเคร่อื งหมาย = ไปเกบ็ ไวในตวั แปรทอี่ ยดู านซายมือ
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
คา่ คงที่ (Constant)
มลี กั ษณะการการใชง้ านคลา้ ยกบั ตวั แปร แตค่ ่าคงที่
คือคา่ จะไมส่ ามารถเปลี่ยนแปลงได้ ตอนประกาศใชง้ าน
ค่าคงทีต่ อ้ งมกี ารประกาศค่าเรม่ิ ตน้ เสมอ
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การนิยามคา่ คงที่ (Constant)
const ชนิดข้อมลู ชื่อตัวแปร = คา่ เร่ิมตน้ ;
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การนิยามคา่ คงทีม่ กั จะนิยามเปน็ ตวั พมิ พใ์ หญ่
const float PI = 3.14 ;
const int SIZE = 10;
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
กฎการต้งั ชอื่
● ข้นึ ตน้ ดว้ ยตวั อักษร A-Z หรอื a-z หรอื @ หรอื _ เคร่ืองหมายขดี เสน้ ใต้ เทา่ น้ัน
● อกั ษรตวั แรกหา้ มเปน็ ตวั เลข
● ความยาวการต้งั ชอ่ื ไมเ่ กนิ 63 ตวั อักษร
● Case Sensitive ตวั พมิ พเ์ ลก็ -พมิ พใ์ หญ่ มคี วามหมายตา่ งกนั
● หา้ มใชอ้ ักขระพเิ ศษมาประกอบเปน็ ชอ่ื ตวั แปร เชน่ {} , % ^
และชอ่ งวา่ ง เปน็ ตน้
● ไมซ่ ากบั คําสงวนในภาษา C#
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
Format String สาํ หรับแสดงผลตวั เลข
รูปแบบอกั ขระ ความหมาย
E หรือ e Exponential (รูปแบบตวั เลขชก้ี ําลัง)
F หรือ f Floating Point (เลขทศนิยม)
G หรือ g แสดงตวั เลขรูปแบบส้นั ทีส่ ดุ
N หรือ n Number ใส่ comma ค่นั ทุกๆ 3 หลัก
P หรือ p Percentage (เลขเปน็ % )
X หรือ x Hexadecimal (เลขฐาน 16)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
รับค่าผ่านทางคียบ์ อร์ด
● Read() - อ่านค่าตัวอักษรผ่านทางคียบ์ อร์ด (ASCII)
● ReadLine() - อ่านคา่ ผา่ นทางคีย์บอร์ดใช้อา่ น String
หรือ Double Float โดยสง่ ค่ากลับมาจะเปน็ String
ตัวดาํ เนินการ (Operator)
กลมุ่ ของเคร่ืองหมายหรือสญั ลักษณ์ท่ใี ชใ้ นการเขียนโปรแกรม
A+B
1. ตวั ดาํ เนินการ (Operator)
2. ตวั ถกู ดาํ เนินการ (Operand)
ตวั ดาํ เนินการทางคณติ ศาสตร
Operator คําอธิบาย
+ บวก
- ลบ
* คูณ
หาร
/ หารเอาเศษ
%
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
ฟงั กช์ ่นั ทางคณิตศาสตร์
ชอ่ื ฟงั กช์ ่นั การทาํ งาน
Math.Abs(x) คา่ สมั บูรณ์ของ x (|x|)
Math.Ceiling(x) ปดั เศษทศนิยมข้นึ ทุกกรณี
Math.Floor(x) ปดั เศษทศนิยมทง้ิ ทกุ กรณี
Math.Round(x) ปดั เศษทศนิยม >=.5 เปน็ ตน้ ไปปดั เศษข้นึ ถา้ <.5 ใหป้ ดั เศษลง
Math.Pow(x,y) x ยกกาํ ลงั y
รากทสี่ องของ x
Math.Sqrt(x)
คา่ คงท่ี π มีคา่ ประมาณ 3.141592653
Math.PI ค่าคงที่ e มคี ่าประมาณ 2.718281828
Math.E
ตวั ดําเนินการเปรียบเทียบ
**** ชนิดขอ้ มลู boolean
Operator คาํ อธิบาย
== เทา่ กบั
!= ไมเ่ ทา่ กบั
> มากกวา่
< น้อยกวา่
>= มากกวา่ เทา่ กบั
<= น้อยกวา่ เท่ากับ
ตัวดําเนนิ การเพิ่มคา - ลดคา
Operator รูปแบบการเขยี น ความหมาย
++ (Prefix)
++ (Postfix) ++a เพมิ่ ค่าให้ a ก่อน 1 คา่ แลว้ นําไปใช้
-- (Prefix) a++ นําคา่ ปจั จุบนั ใน a ไปใชก้ ่อนแลว้
-- (Postfix) คอ่ ยเพ่มิ ค่า
--b ลดค่าให้ b ก่อน 1 ค่าแลว้ นําไปใช้
b-- นําคา่ ปจั จุบันใน b ไปใชก้ อ่ นแลว้
คอ่ ยลดค่า
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
Compound Assignment
Assignment รูปแบบการเขยี น ความหมาย
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
x/=y x=x/y
/= x%=y x=x%y
%=
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
ลาํ ดบั ความสําคญั ของตวั ดําเนนิ การ
ลําดบั ที่ เครอ่ื งหมาย ลาํ ดบั การทํางาน
1 ()
2 ซ้ายไปขวา
3 ++ , -- ซ้ายไปขวา
4 *, / , % ซ้ายไปขวา
5 ซ้ายไปขวา
6 +, - ซ้ายไปขวา
< , <= , > , >= ซ้ายไปขวา
7 ซ้ายไปขวา
8 == , != ขวาไปซ้าย
9
&& (AND)
|| (OR)
= , += , -= , *= , /= ,
%=
กรณีศกึ ษา
1. 5+8 *9
2. 10 - 4+2
3. 10 - (2+1)
4. 5 * 2 – 40 / 5
5. 7+8/2+25
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
การแปลงชนิดข้อมูล (Type Casting)
1.Widening Casting
คอื การแปลงข้อมูลทมี่ ขี นาดเลก็ ไปสขู่ ้อมูลขนาดใหญ่ (แบบอัตโนมตั )ิ
byte -> short -> int -> long -> float -> double
2.Narrowing Casting
คอื การแปลงข้อมูลท่มี ขี นาดใหญไปสขู่ ้อมลู ท่ีมีขนาดเล็ก (ทาํ เอง)
double -> float -> long -> int -> char -> short -> byte
การแปลงชนิดข้อมูล (Type Casting)
ขอ้ มลู ทกุ ชนิดสามารถ
แปลงเปน็ String ไดท้ ้งั หมด
การแปลงชนิดข้อมูล
จะใชใ้ นการแปลงชนิดขอ้ มลู เชน่
1. แปลงจากชนิดขอ้ มลู หน่ึงไปเปน็ อกี ชนิดหน่ึงได้
2. แปลงจากตวั เลขเปน็ สตริง
3. แปลงจากสตริงเปน็ ตวั เลข
การแปลงชนิดข้อมลู
โดยใชง้ าน Class และ Method ทอ่ี ย่ใู น C# มใี ห้
บรกิ ารอยู่ 4 รูปแบบดว้ ยกนั คือ
1. ใช้ Class Convert
2. ใช้ TryParse
3. ใช้ Parse (แปลงขอ้ ความเปน็ ตวั เลข)
4. toString() - ทาํ ใหเ้ ปน็ String ท้งั หมด
Data Type คําอธิบาย Class และขนาด Bit
boolean คา่ ทางตรรกศาสตร์ 8 (เก็บค่า True /False)
byte ตัวเลขทไ่ี ม่มจี ุดทศนิยม SByte(8)
short Int16
ตัวเลขทไ่ี ม่มีจุดทศนิยม
int Int32
long ตวั เลขท่ีไมม่ จี ุดทศนิยม Int64
float ตัวเลขที่ไมม่ จี ุดทศนิยม Single(32)
double ตัวเลขทม่ี ีจุดทศนิยม Double (64)
char ตัวเลขท่มี ีจุดทศนิยม Char(16)
ตัวอักษร
ชนดิ ขอมูลจะเปนตัวกาํ หนดคา ท่สี ามารถเกบ็ ไดในตัวแปร
ยงิ่ จํานวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คาไดม ากเทาน้ัน
Data Type คา่ ตาสดุ ค่าสงู สดุ
boolean คา่ ทางตรรกศาสตร์ 8 (เกบ็ คา่ True /False)
byte -128 127
short -32768 32767
int -2147483648 2147483647
long
float -9223372036854775808 9223372036854775807
double
char 1.4E-45 3.4028235E38
4.9E-324 1.7976931348623157E308
--
ชนิดขอมูลจะเปน ตัวกําหนดคาท่สี ามารถเกบ็ ไดใ นตัวแปร
ย่ิงจาํ นวนของ bit มากเทาไร แสดงวา เราสามารถเกบ็ คา ไดมากเทาน้นั
การใชง้ าน Convert Class
byte x = Convert.ToByte(ตวั เลขหรอื สตรงิ ทตี่ อ้ งการแปลงเปน็ byte)
short y = Convert.ToInt16(ตวั เลขหรือสตรงิ ทต่ี อ้ งการแปลงเปน็ short)
int z = Convert.ToInt32(ตวั เลขหรือสตริงที่ตอ้ งการแปลงเปน็ int)
long a = Convert.ToInt64(ตวั เลขหรอื สตริงที่ตอ้ งการแปลงเปน็ long)
float b = Convert.ToSingle(ตวั เลขหรอื สตรงิ ทต่ี อ้ งการแปลงเปน็ float)
double d = Convert.ToDouble(ตวั เลขหรือสตริงทีต่ อ้ งการแปลงเปน็ double)
string d = Convert.ToString(ตวั เลขทต่ี อ้ งการแปลงเปน็ String)
การใชง้ าน Parse
Parse(“ขอ้ ความ”)
int number1 = Int.parse(“200”);
double number2 = double.parse(“4.00”)
double number3 =
double.parse(textbox.text)
การใช้งาน TryParse
TryParse(“ขอ้ ความ”,out result)
เกบ็ สถานะการแปลงลงใน success (True/False)
เกบ็ ผลลัพธ์ลงใน result
success= Int.TryParse(“200”,out result);
success= Int.TryParse(“200”,out result);
ความแตกตา่ ง
● Parse(“ขอ้ ความ”) - เปน็ การแปลงขอ้ มลู ชนิด string
หรือขอ้ ความใหเ้ ปน็ ขอ้ มลู ชนิดท่ีตอ้ งการ
● TryParse มกี ารจดั การ Exception (ขอ้ ผดิ พลาด)
แลว้ สง่ ค่ากลบั มาเปน็ True / False
● toString() แปลงอะไรกไ็ ดเ้ ปน็ String
Assignment 1: โปรแกรมคาํ นวณค่าดชั นีมวลกาย (BMI)
ดชั นีมวลกาย (BMI) = นาหนักตวั (กโิ ลกรัม)
สว่ นสงู (เมตร)2
ยกตวั อย่าง เชน่ ถา้ มนี าหนัก 60 กโิ ลกรัม และสงู 1.55 ม.
ดชั นีมวลกาย (BMI) = 24.97
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
โครงสรา้ งควบคุม (Control Structure)
คือ กลมุ่ คําส่งั ท่ีใชค้ วบคมุ การทํางานของโปรแกรม
● แบบลําดบั (Sequence)
● แบบมเี งอื่ นไข (Condition)
● แบบทาํ ซา (Loop)
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
แบบมเี ง่อื นไข (Condition)
กล่มุ คําส่งั ท่ีใชต้ ัดสนิ ใจในการเลอื กเงอ่ื นไขตา่ งๆ ภายในโปรแกรมมาทาํ
งาน
● if
● Switch..Case
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
รูปแบบคาํ ส่งั แบบเงอ่ื นไขเดยี ว
● if statement
เปน็ คําส่งั ทีใ่ ชก้ าํ หนดเงอ่ื นไขในการตดั สนิ ใจทํางานของโปรแกรม
ถา้ เงื่อนไขเปน็ จรงิ จะทําตามคําส่งั ตา่ งๆ ที่กาํ หนดภายใตเ้ งอ่ื นไขน้ันๆ
if(เงอ่ื นไข){
คาํ ส่งั เม่ือเงอ่ื นไขเปน็ จริง ;
}
รูปแบบคาํ ส่งั แบบ 2 เง่อื นไข
if(เงื่อนไข){
คาํ ส่งั เมอื่ เง่อื นไขเปน็ จริง ;
}else{
คาํ ส่งั เมอื่ เงอ่ื นไขเปน็ เทจ็ ;
}
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
รูปแบบคาํ ส่งั แบบหลายเงอ่ื นไข
if(เงือ่ นไขที่ 1){ https://www.facebook.com/KongRuksiamTutorial/
คําส่งั เมอ่ื เง่ือนไขที่ 1 เปน็ จริง ;
}else if(เงื่อนไขท่ี 2){
คําส่งั เมื่อเงอ่ื นไขท่ี 2 เปน็ จริง ;
}else if(เงอ่ื นไขท่ี 3){
คาํ ส่งั เมอื่ เงอ่ื นไขที่ 3 เปน็ จริง ;
}else{
คาํ ส่งั เมื่อทุกเงอ่ื นไขเปน็ เท็จ ;
}
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w
โจทยป์ ญั หา : โปรแกรมตดั เกรดอย่างง่าย
คํานวณเกรดจากคะแนนสอบของนักเรียน โดยมเี กณฑด์ ังน้ี คอื
● คะแนน 80 ข้นึ ไป ไดเ้ กรด A
● คะแนน 70 ข้นึ ไป ได้เกรด B
● คะแนน 60 ข้นึ ไป ได้เกรด C
● คะแนน 50 ข้นึ ไป ได้เกรด D
● น้อยกวา่ 50 คะแนน ได้เกรด F
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/
ขอ้ ควรระวังการเขียน if เพอ่ื ตรวจสอบเง่ือนไข
if(เงอื่ นไข){
คาํ ส่งั เม่อื เง่อื นไขเปน็ จริง ;
}if(เง่อื นไข){
คาํ ส่งั เม่ือเงอื่ นไขเปน็ จริง ;
}
https://www.youtube.com/channel/UCQ1r_4x-P-fETLIU4pqf98w https://www.facebook.com/KongRuksiamTutorial/