Upload
ictyangtalad
View
20.863
Download
13
Embed Size (px)
DESCRIPTION
เรียนรู้การใช้งานเบื่องต้น
Citation preview
บทท�� 1หลั�กการเขี�ยนโปรแกรมเบ��องต้�น
ภาษา C#
รายวิ�ชา ง40209 ภาคเร�ยนที่�� 1 ปี�การศึ�กษา 2554
ผู้��สอน : กวิ�ภ�ที่ร ภ�สมศึร�
วั�ต้ถุ�ประสงค์"หลั�กขีองภาษา C#เปี�นภาษาใหม�ที่��ม�ปีระส�ที่ธิ�ภาพการที่#างานเที่�ยบเที่�า หร&อ
เหน&อกวิ�า C++ แต่�ไม�ย*�งยากและซั�บซั�อนเที่�า โดยสามารถใช�งานได�ง�ายเหม&อนภาษา Visual Basic ที่#าให�สามารถพ�ฒนา แอพพล�เคช��นในระด�บส�งได�ด�ย��งกวิ�าการใช�ภาษา Visual Basic
2
ส�วินปีระกอบโดยที่��วิไปีของโปีรแกรม 1. ชื่��อโปรแกรม (Program name) โดยที่��วิไปีม�กต่�2ง
ช&�อโปีรแกรมให�ส&�อควิามหมายก�บการที่#างานหร&อผู้ลล�พธิ3ของโปีรแกรมเพ&�อสะดวิกในการใช�งาน น�ยมใช�ค#ากร�ยาน#าหน�าต่ามด�วิยค#าขยาย2. การก$าหนดต้�วัแปร(Variables) หร�อค์&าค์งท��(Constant)ท��ใชื่�ในโปรแกรม โดยก#าหนดช&�อในภาษาอ�งกฤษที่��ส&�อควิามหมายก�บข�อม�ลที่��เก5บ3. การก$าหนดจุ�ดเร)�มต้�นขีองโปรแกรม (Beginning of Code) อาจใช�ค#าวิ�า BEGIN หร&อ เคร&�องหมาย {4. ชื่�ดค์$าส��ง (Statement) เปี�นค#าส��งในร�ปีแบบโปีรแกรมภาษาคอมพ�วิเต่อร3 ที่��ส� �งให�คอมพ�วิเต่อร3ที่#างาน5. การก$าหนดจุ�ดส)�นส�ดขีองโปรแกรม (End of Code) อาจใช�ค#าวิ�า END หร&อ เคร&�องหมาย }
3
ค์$าอธิ)บาย (Comment)// comment
◦ส#าหร�บค#าอธิ�บายเพ�ยงบรรที่�ดเด�ยวิ/* multiline
comment */◦กรณี�ที่��ค#าอธิ�บายยาวิ หลายบรรที่�ด
4
Separators
ต่�วิแบ�งแยก อาจเปี�นส�ญล�กษณี3หร&อต่�วิอ�กษร ใช�ส#าหร�บจ�ดกล*�มค#าหร&อแบ�งแยกค#า
เช�น ในโปีรแกรมภาษา C# ใช� { } ใช�จ�ดกล*�มบล5อก ( ) ต่�อที่�าย method ใช�ส#าหร�บใส�พาราม�เต่อร3 [ ] ใช�ระบ*อาร3เรย3 ; ใช�ระบ* จบค#าส��ง (end of statement) , ใช�ค� �นระหวิ�างต่�วิแปีร . ใช�แยกช&�อออบเจ5กต่3
5
Keywordsค�ย3เวิ�ร3ด : เปี�นค#าที่��สงวินไวิ�ใช�เปี�นค#าส��งใน C# ไม�สามารถน#าค#าเหล�าน�2ไปีก#าหนดเปี�นช&�ออย�างอ&�น
ได�
6
Keywords
7
การก$าหนดต้�วัแปรแลัะขี�อม+ลั
ต้�วัแปร(Variable) หมายถ�ง ส�ญล�กษณี3ที่��เราใช�แที่นข�อม�ลชน�ดต่�างๆ โดยข�อม�ลที่��จะน#ามาเก5บในต่�วิแปีรต่�องต่รงก�บที่��เราได�ก#าหนดไวิ�
และการจะน#าข�อม�ลไปีใช�งานก5ต่�องกระที่#าผู้�านต่�วิแปีรน�2จ#าเปี�นต่�องระบ*ลงไปีด�วิยวิ�าต่�วิแปีรน�2นใช�เก5บข�อม�ลชน�ด
ใด
8
หลั�กการต้��งชื่��อต้�วัแปร
ข�2นต่�นด�วิยต่�วิอ�กษรห�ามใชื่�ต้�วัเลัขี หร�ออ�กขีระเป,นต้�วัเร)�มต้�นร�ปีแบบต่�วิอ�กษรพ�มพ3ต่�างก�น ถ&อเปี�นคนละต่�วิ
(case sensitive) เช�น myvar, myVar, MYVAR ถ&อเปี�นคนละต่�วิ
ห�ามต่�2งช&�อต่�วิแปีรซั#2าก�บค#าสงวิน
9
หลั�กการต้��งชื่��อต้�วัแปร
ต่�วิอย�างการต่�2งช&�อที่��ถ�กต่�อง◦Num, myNum1, string4, Data
ต่�วิอย�างการต่�2งช&�อที่��ไม�ถ�กต่�อง◦9xx, @myWeb, Look@me
10
การประกาศต้�วัแปร (Variable) 1
1
วั)ธิ�1 [ชื่น)ดขีองขี�อม+ลั] ชื่��อต้�วัแปร;
วั)ธิ�2 [ชื่น)ดขีองขี�อม+ลั] ชื่��อต้�วัแปร = [ค์&าเร)�มต้�นขีองต้�วัแปร];
int x; int y, z; int Y, Z = 3; Double d = 10.99; String s1 = “Visual", s2=“C#” , s3=“.Net”;
หมายเหต่*: ไม�สามารถปีระกาศึต่�วิแปีรซั#2าภายในบล5อก {…} เด�ยวิก�น
การประกาศค์&าค์งท�� (Constant)
const int x = 1;const double pi = 3.14;
หมายเหต่*: ไม�สามารถเปีล��ยนแปีลงค�าคงที่��ได�
12
const [ชื่น)ดขีองขี�อม+ลั] ชื่��อต้�วัแปร = ค์&าค์งท��;
ค�าคงที่��เปี�นต่�วิแปีรที่��ก#าหนดค�าต่ายต่�วิ ไม�สามารถเปีล��ยนแปีลงได�
ขีอบเขีต้ขีองต้�วัแปร
Global Variable ต่�วิแปีรที่��ใช�ได�ที่�2งโปีรแกรม
Local Variable ต่�วิแปีรที่��เก�ดข�2นเฉพาะที่�� ม�ขอบเขต่เฉพาะส�วินที่��เก�ดข�2น
13
ม�มมองขีอบเขีต้ขีองต้�วัแปร
ระด�บ Public ◦ม�ขอบเขต่กวิ�างที่��ส*ด สามารถเร�ยกใช� ณี ต่#าแหน�งใดก5ได�ที่��อย��ในโปีร
เจ5คระด�บ Procedure
◦ม�ขอบเขต่ขนาดกลาง เปี�นระด�บที่��เหมาะสมก�บการใช�งานมากที่��ส*ด ม�ขอบเขต่อย��ในแต่�ละเหต่*การณี3
ระด�บ Block◦ม�ขอบเขต่ขนาดเล5กที่��ส*ด ม�กจะใช�เก5บค�าช��วิคราวิ หร&อต่�วิแปีรที่��วินล�ปี
เปี�นส�วินใหญ� เช�น ต่�วิแปีรที่��อย��ในบล5อกของค#าส��งต่�างๆ เช�น if…else เปี�นต่�น
14
Parameter
ค&อต่�วิแปีรที่��ใช�ในการส�งค�ามาย�งฟั<งก3ช�นหร&อ เมที่ธิอด สามารถส�งผู้�านค�าต่�วิแปีร ไปีที่#างานในโปีรแกรมย�อย ได� 3 แบบ ได�แก�
Pass By Value Pass By Reference Pass By Constant
15
ประเภทขีองขี�อม+ลัในภาษา C#
ส#าหร�บภาษาC# สามารถแบ�งกล*�มปีระเภที่ ได� 3 กล*�ม ด�งน�21. Value types2. References types3. Pointer types
16
ประเภทขีองขี�อม+ลัในภาษา C#
Value types ต่�วิแปีรของกล*�มน�2เปี�นปีระเภที่ที่��ใช�ข�อม�ลโดยต่รง
จะเปีล��ยนแปีลงค�าเม&�อม�ค�าใหม�ไปีเก5บที่�บค�าเด�ม และจะถ�กที่#าลายเม&�ออย��นอกขอบเขต่
ชน�ดข�อม�ลในกล*�มปีระเภที่น�2 ค&อ sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, bool และ decimal
17
ชื่น)ดขีองขี�อม+ลั
Numeric (เลขจ#านวินเต่5ม และเลขที่ศึน�ยม)Char (ต่�วิอ�กษร)String (ข�อควิาม)Boolean (บ�ล�น)Object
18
เลัขีจุ$านวันเต้.ม
Data type ขีนาด ค์&าขีองขี�อม+ลั
sbyte
(System.SByte)
1 byte -128 ถ�ง 127
short
(System.Int16)
2 bytes -32,768 ถ�ง 32,767
int (System.Int32) 4 bytes -2,147,483,648 ถ�ง
2,147,483,647
long
(System.Int64)
8 bytes -263 ถ�ง (263 – 1)
19
เลัขีจุ$านวันเต้.มบวัก
Data type ขีนาด ค์&าขีองขี�อม+ลั
byte (System.Byte) 1 byte 0 ถ�ง 255
ushort
(System.UInt16)
2 bytes 0 ถ�ง 65,535
uint (System.UInt32) 4 bytes 0 ถ�ง 4,294,967,295
ulong
(System.UInt64)
8 bytes 0 ถ�ง 264 -1 2
0
เลัขีทศน)ยมData type ขีนาด ค์&าขีองขี�อม+ลั
float (System.Single)
4 bytes ±1.5 x 10-45 ถ�ง ±3.4 x 1038
ควิามแม�นย#าของที่ศึน�ยมอย��ที่�� 7 ต่#าแหน�งdouble (System.Double)
8 bytes ±5.0 x 10-324 ถ�ง ±1.7 x 10308
ควิามแม�นย#าของที่ศึน�ยมอย��ที่�� 15 ต่#าแหน�ง, ม�ช�วิงของข�อม�ลกวิ�างที่��ส*ดdecimal (System.Decimal)
16 bytes
±1.0 x 10-28 ถ�ง ±7.9 x 1028
ควิามแม�นย#าของที่ศึน�ยมอย��ที่�� 28 ต่#าแหน�ง, ช�วิงข�อม�ลแคบกวิ�า double
แต่�ให�ค�าละเอ�ยดมากในส�วินของที่ศึน�ยม เหมาะก�บการค#านวิณีเร&�องเง�น 2
1
ชื่น)ดขี�อม+ลัอ�กขีระData type ขีนาด ค์&าขีองขี�อม+ลั
char(System.Char)
2 bytes
ต่�วิอ�กษรแบบ Unicode ม�เคร&�องหมาย ' (single quote) คร�อมต่�วิอ�กษร เช�น 'A', '1‘
char c = ‘A’; string (System.String)
ไม�แน�นอน
ต่�วิอ�กษรแบบ Unicode หลายต่�วิมารวิมก�น ม�เคร&�องหมาย " (double quote) คร�อมเช�น "Hello“
string s = “Welcome”; 2
2
ขี�อม+ลัชื่น)ดบ+ลั�นData type ขีนาด ค์&าขีองขี�อม+ลั
bool (System.Boolean)
1 bit ม�ค�าที่��เปี�นไปีได� 2 ค�า ค&อtrue และ false
น#ามาใช�กรณี�เก��ยวิก�บการเล&อกโดยพ�จารณีาเง&�อนไขเช�น bool bfact;
bfact = true; หร&อ bool bfact = true; 2
3
24