Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

c# part1.pptx

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
Know 1 1
Know 1 1
Chargement dans…3
×

Consultez-les par la suite

1 sur 60 Publicité

Plus De Contenu Connexe

Similaire à c# part1.pptx (20)

Plus récents (20)

Publicité

c# part1.pptx

  1. 1. C# 1
  2. 2. Agenda •Introduction •Console Application •Windows Form Application •C# Vs. MySQL •C# Vs. Network programming 2
  3. 3. Visual Studio Express 2013 3
  4. 4. 4
  5. 5. 5
  6. 6. Console Application 1 2 6
  7. 7. 8
  8. 8. 9
  9. 9. โครงสร้างของโปรแกรม ภาษา C# การโปรแกรมภาษา C# ขันพืนฐานที่มีเฉพาะส่วน โปรแกรมหลักจะมีประกอบดังนี้ namespace ( A) { class (B) { static void Main() { (C) } } } ชื่อของเนมสแปซ ใช ้ในการก าหนด ขอบเขตให ้กบคลาสต่างๆ ชื่อของ class พืนที่เขียนค าสงต่างๆ 10
  10. 10. กฏการตัง้ ช่ือตัวระบุ (Identifier) • ช่ือตัวแปรต้องประกอบด้วยตวอักษร ภาษาอังกฤษ (A-Z,a-z) ตัวเลข (0-9) หรือเคร่ืองหมายขีดเส้นใต้ (_) เท่านัน้ • ตัวอักษรตวแรกของช่อต้องเป็ นตัวอักษร ภาษาอังกฤษหรือ ตัวขีดเส้นใต้ • ช่ือตัวแปรมีความยาว ได้ไม่เกิน 63 ตัวอักษร • ช่ือตัวแปรต้อง ไม่ซา้้ กับคาสงวน (reserved word) เช่น class, namespace, int, void, static 11
  11. 11. ชนิดข้อมูล 12 ชนิด ข้อมูล คาอธิบาย char อักขระเดี่ยว เช่น a bool ค่าความจริง เป็ นไปได้สองค่าคือ true หรือ false byte จานวนเตมไม่มีเคร่ืองหมาย ตังแต่ 0 ถงึ 255 int จานวนเตมมีเคร่ืองหมาย ตังแต่ -2147483648 ถงึ 2147483647 uint จานวนเตมไม่มีเคร่ืองหมาย ตังแต่ 0 ถงึ 4294967295 long จานวนเตมมีเคร่ืองหมาย ตังแต่ - 9223372036854775808 ถงึ 9223372036854775807 ulong จานวนเตมไม่มีเคร่ืองหมาย ตังแต่ 0 ถงึ 18446744073709551615
  12. 12. ตัวแปร (Variable) •ตัวแปร (Variable) เป็ นตัวระบุ ประเภทหน่ึงท่ี น ามาใช้ในการอ้างถงึ ข้อมูล โดย ค่าของมันสามารถ ถูกเปล่ียนแปลงได้ตลอดเวลาท่โ้ี ปรแกรมกา ลัง ทา งานอย่้ ู •ในภาษา C# ตัวแปรทุกตัวต้องถูก ประกาศก่อนใช้ งาน Datatype variableName; Datatype variableName = initialValue; 13
  13. 13. ค่าคงท่ี (Constants) •ค่าคงท่เป็ นตัวระบุ ประเภทหน่ึงท่นี ามาใช้ งาน เช่นเดียวกับตัวแปร โดย สงท่แตกต่างคือค่า ของมันไม่ สามารถเปลียนแปลงได้อีก หลังจาก ประกาศ •วิธีการประกาศ จะมีการระบุ const นาหน้า const Datatype constantName 14
  14. 14. นิพจน์ทางคณิตศาสตร ์ (Arithmetic Expression) • นิพจน์ (Expression) หมายถงส่วน ของโปรแกรมท่ี สามารถถกู ตีความเป็ นค่าต่างๆ ได้ โดยนิพจน์ ประกอบด้วย เทอมเพยงเทอมเดียวหรือเกดจากการ ผสม กันของนิพจน์อืนได้ • ตัวอย่างนิพจน์ • ตัวเลขโดด เช่น 4.151, 1538 • ข้อความ เช่น “Hello” • ค่าความจริง ได้แก่ true และ false • คัวแปรหรือค่าคงท่เดียวๆ ทผี ้่ านการกา 15
  15. 15. ลา ดับของตัว ดา เนินการ • ( ) •*, / และ % •+ และ – •หากตัวดาเนินการมีลาดับเท่าเทียม กัน คานวณจาก ซ้าย ไปขวา •หมายเหตุ •21/2 จะได้ 10 16
  16. 16. คา ส่ังท่ใ้ี ช้ใน การแสดงผล •คาส่ังหลักคือ Write และ WriteLine ซ่งงึ ถูก นิยาม ไว้ในคลาสท่ชี ้่ ้ือ ว่า Console และเนมสเป สชื่อ Sy stem 17
  17. 17. สตริงกา หนดรูปแบบ (Formatting String) • ในการแสดงผลออกทางจอภาพด้วย คาส่ัง WriteLine หรือ Write ท่ตี ้้องการแสดงมากกว่าหน่ึงค่า (มีพารามิเตอร ์มากกว่าหน่ึงตวั) บางครัง้ เราต้องการจดั รูปแบบของ การ แสดงผลเช่น ระบุความกว้าง จาน วนตวอักษร ชิดซ้าย ชิด ขวา โดยเราทา ได้ด้วยรูปแบบดงั นี้ {index [,alignment][:formatSpecifie 18
  18. 18. • for mat SExponential (แสดงผลในรูปแบบ ตัวเลขทางวิทยาศาสตร ์) pecifier E หรือ e 19 สตริงกา หนดรูปแบบ (ต่อ) • alignment •เป็ นจานวนเตมท่ใช้ระบุความ กว้างหรือจานวน ตัวอักษร ถ้าเป็ นเป็ นลบชิดซ้าย และบวกชิดขวา อักขระกา หนด รูปแบบ ความหมาย F หรือ f Fixed-point (แสดงในรูปแบบทศนิยม) G หรือ g General (แสดงในรูปแบบท่วั ไป เช่นตัวเลขจะถูกแสดงผล ในรูปแบบ ส่ันท่สี ุ้ ด) N หรือ n Number (แสดงในรูปแบบตัวเลขเหมือน Fixed-point แต่มีเคร่ือง หมาย comma ค่ันทุก 3 หลัก) P หรือ p Percentage (ตัวเลขจะถูกเปล่ียนอย่้ ู ในรูปของเปอร ์เซนต์) X หรือ x Hexadecimal (แสดงในรูปแบบเลขฐานสิบหก)
  19. 19. 20
  20. 20. 21
  21. 21. HELP • ในโปรแกรม MS Visual Studio หรือชุด โปรแกรมอนๆ ท่มี ้ี การเชือมต่อกับระบบไลบราลีของ Microsoft Developer Network (MSDN Library) ซงรวบรวมเอกสารเชิง เทคนิค สาหรับการพัฒนาซอฟต์แวร ์บน ไมโครซอฟต์วินโดวส์ไว้ โดยละเอียด 22
  22. 22. 23
  23. 23. คา ส่ังสา หรับรับ ข้อมูลจากผ้้ ู ใช้ •จะเรียกใช้งานด้วย Console.ReadLine โดยจะคืนค่า เป็ นนิพจน์ท่มค่าเป็ นข้อความ (string) ดังนันจะน า ค่าท่ง รี ้ับมาไปกาหนด ให้กับตัวแปรแบบสตริงหรือผสม กับ นิพจน์อนๆ ท่เกยวกับสตริง ได้ string name; name = Console.ReadLine(); 24
  24. 24. คา ส่ังสา หรับรับ ข้อมูลจากผ้้ ู ใช้(ต่อ) •หากข้อมูลท่ง รี ้ับมาไม่ใช่ข้อความ เราต้องทา การแปลง ก่อน อย่างไรก ตาม C# ไม่มีคา ส่ังท่ง รี ้ับข้อมูล ชนิด ตัวเลขโดยตรง แต่ C# มีเมธอด Parse สาหรับแปลง ข้อมูลเป็ นตวั เลขแต่ละชนิดให้ <numeric_datatype>.Parse(<s tring_expression>) เช่น double x; 25 x =
  25. 25. คา ส่ังแบบมี เง่อื น ไ ข •IF •SWIT CH 26
  26. 26. นิพจน์ทางตรรกศาสตร ์(boolean expressions) 27 การ เปง รียบ เทยบ สัญลัก ษณ์ ใน C# ตัวอย่า ง ชนิดข้อมูล ท่ใ้ี ช้ได้ ความหมาย เท่ากับ == x==y ตัวเลขทุก ชนิด, char, string x เท่ากับ y ไม่ เท่ากับ != x!=y ตัวเลขทุกชนิด, char, string x ไม่เท่ากับ y น้อยกว่า < x<y ตัวเลขทุกชนิด , char x น้อยกว่า y น้อย กว่า <= x<=y ตัวเลขทุกชนิด , char x น้อยกว่า เท่ากับ y
  27. 27. นิพจน์ทางตรรกศาสตร ์ (ต่อ) • การน าเอานิพจน์ทางตรรกศาสตร ์มา ผสมกันมากกว่าหน่ึง นิพจน์จะต้อง ใช้ตัวเช่ือม ได้แก่ • && เช่ือมนิพจน์ทางตรรกศาสตร ์สอง นิพจน์เข้าด้วยกัน โดยใช้ตรรกะแบบ “และ” (AND) • || เช่ือมนิพจน์ทางตรรกศาสตร ์สอง นิพจน์เข้าด้วยกันโดย ใช้ตรรกะแบบ “หรือ” (OR) • ! กลับค่าความจริงของนิพจน์ทาง 28
  28. 28. โครงสร้าง if และ if…else… • รูปแบบท่ี 1 โครงสร้าง if if(condition) statement; // execute if the condition is true if(condition){ statement; // execute if the condition is true statement; // execute if the condition is true statement; // execute if the 29
  29. 29. โครงสร้าง if และ if…else… •รูปแบบท่ี 2 โครงสร้าง if…else… if(condition) statement; // execute if the condition is true else statement; // execute if the condition is false 30
  30. 30. โครงสร้าง if และ if…else… • รูปแบบท่ี 3 โครงสร้าง if หลายชัน้ if(condition) stateme nt; else if(conditio n) statement; else if(condit ion) 31
  31. 31. โครงสร้าง switch…case switch (expression) { case constant- expression- 1: statements; break; case constant- expression-2: statements; break; case constant- expression- 3: statements; break; อนุญาตให้เป็ นได้แค่ integer, char, string string เช็ค ด้วย “xxx” char เช็คด้วย ‘x’ 32
  32. 32. คา ส่ัง วนซา ้้ •while •do… while •for 33
  33. 33. โครงสร้าง while while (condition ) stateme nt; while (conditio n) { statement 1; statement 2; 34
  34. 34. โครงสร้าง do…while do statement; while (condition); do { statement 1; statement 2; : statement 35
  35. 35. โครงสร้าง for for (init_stmt; condition; update_stmt) { statement1; statement2; : statementN; } 36
  36. 36. Method • เป็ นส่วนของโปรแกรมเพอจัดการงาน ย่อยหน่ึงๆ โดยมอง งานท่ซบซ้อนเป็ นงาน ย่อยๆ ท่เล็กลง ทาให้เขียนโปรแกรม แก้ปัญหาได้ง่ายขนึ้ ลดการเขียน โค้ดทซี า ้้ ซ้อน เพ่มความ สะดวก ในการตรวจสอบและแก้ไขโปรแกรม • แบ่งเป็ น 2 ประเภท • แบบคืนค่า • แบบไม่คืนค่า 37
  37. 37. Method (ต่อ) การส่งค่าไปยัง method สามารถ ทาได้โดย สร้าง method ท่มี ้ีการรับค่าจากผ้้ ู เรียก เพ่อื กา หนด พฤต กรรมการทางานของ method นันๆ ค่าท่ถีกสู ้่ ง ไปเรียกว่า argument ส่วน method ท่ 38
  38. 38. การประกาศและเรียก ใช้ Method ก่อนหน้านีเราเขียน โปรแกรมทง้ หมดไว้ท่ี Main แต่สาหรับ งานทใหญ่ขึนเรามักจะ เขียนโปรแกรมโดยแบ่งปัญหาท ต้องการ แก้ออกเป็ นงานย่อยๆ หลายๆ งาน ทา ให้เรา เขียนโปรแกรมเป็ นส่วนๆ เพ่อ จัดการปัญหาย่อยเหล่านี้ ได้ ส่วนของ โปรแกรมเพ่อจัดการปัญหาย่อย ปัญหาหน่ึงๆ มี หลายชือเรียกไม่ว่าจะเป็ น subroutine, subprogram และ function แต่ในภาษาท่สนับสนุนการเขียน โปรแกรมเชิงวัตถุเช่น C# เราจะโปรแกรมดังกล่าว ว่า method 39
  39. 39. การประกาศ Method ท่เราเคยเขียนมาเป็ นแบบนี้ namespace (มี หรือไม่มีก็ได้) { class{ Main{ stateme nt; } } 40
  40. 40. namespace (มี หรือไม่มีก็ได้) { class{ Main{ state ment; } MyMethod1{ state ment; } MyMethod2{ state ment; } } } 41
  41. 41. การประกาศ method (ต่อ) • สังเกตว่า method แต่ละอันต้องถกู ประกาศอย่้ ู ภายนอก method อ่ืน แต่อย่้ ู ภายใน class • method main ไม่จา เป็ นต้องถกู ประกาศเป็ น method แรก การประกาศ method มี รูปแบบดงั นี้ static return_type method_name(parameter_list) { statem 42
  42. 42. method แบบ ไม่คืนค่า •method แบบไม่คืนค่า บางครัง เรียกว่า subroutine หรือ procedure เป็ น method ท่ เขียนขึนมาเพ่อื ปฏบัตงานบางอย่างและจบงานนันใน ตัวมันเองโดย ไม่ส่งค่าคืนกลับไปยังผ้้ ู เรียก •การประกาศ method ประเภทนีใช้ void ในตาแหน่ง return_type และ 43
  43. 43. 44
  44. 44. การส่งค่าไปยัง Method เราสามารถสร้าง method ท่มี ้ี การรับค่าจากผ้้ ู เรียกเพ่อื กา หนดการทา งาน ค่าท่ถี ้ ู กส่ง ไป เรียกว่า argument ส่วน method ท่ถี ้ ู กเรียกจะรับค่าเหล่านีผ้ ้่ า นทาง parameter ซ่งงึ ถูกนิยามไว้ในส่วน parameter_list ของ การประกาศ method 45
  45. 45. 46
  46. 46. Method แบบคืนค่า เป็ น method ท่สี ้่ งผลลัพธ ์ กลับไปยังผ้้ ู เรียกหลังจากการ ทา งานใน method เสร็จสิน้ ตัวอย่างเช่น Console.ReadLine(), int.Parse ในการสร้าง method แบบคืนค่าขึนมา เองนันต้องระบุชนิด ของข้อมูลท่ี method จะส่งกลับเอาไว้ในส่วนท่เ้ี ป้ น return_type ของการประกาศ method แทนท่จะใช้ void และภายใน ตัว method จะต้องมีการใช้คาส่ัง return เพ่อให้ method จบการทา งานและส่ง 47
  47. 47. Array Array คือชุดหรือกลุ่้ มของข้อมูลชนิด เดียวกัน ท่แ้ี ต่ละตัว เป็ นส่ วนประกอบหน่ึงของกลุ่้ มสมาชิกท่เ้ี รียงต่อกันเป็ น ลา ดับ โดยท่ขี ้้อ มูลแต่ละตัวจะถกู เรียกว่าสมาชิก ของ อาเรย์ (elements) ทา ให้ สามารถเกบ็ ข้อมูล ได้เป็ น จานวนมากๆ โดยท่ไม่ต้องประกาศตัว แปรหลายตัว การเข้าถงสมาชิกของอาเรย์แต่ละตัวทา ได้โดยการกาหนด ดัชนีซ่งงึ เป็ นจา นวนเตม็ ท่เ้ี ขียนอย่้ ู ในวงเล็บก้ามปู 48
  48. 48. การประกาศ Array •เช่นเดียวกับตัวแปรจะต้องมีการ ประกาศ ก่อนการ ใช้งาน โดยมีรูปแบบดงั นี้ DataType[] ArrayName; การประกาศแบบนีสามารถน าไปใช้เพียงแค่ อ้างถงึ Array ชนดนนัิ ๆ เท่านนั้ ยัง ไม่มี Array ท่แ้ี ท้จริงถ 49
  49. 49. การสร้าง Array ในการสังให้คอมพวเตอร ์สร้างอาเรย์ ขึนมาใน หน่วยความจาของเคร่ือง จะใช้คาส่ัง new มีรูปแบบดังนี้ new DataType[num_elements] DataType คือ ชนิดข้อมูล num_elements คือนิพจน์แบบจานวน เตมแสดงขนาด ตัวอย่างการประกาศ ArrayName = new DataType[num_elements] 50
  50. 50. การสร้าง Array • การสร้าง Array แบบกาหนดค่าเร่ิมต้น ArrayName = new DataType[num_elements]{value0, value1, …, valueN-1}; หากกาหนดค่าเร่ิมต้น ไม่จาเป็ นต้องระบุ ขนาดได้ ArrayName = new DataType[]{value0, value1, …, valueN-1}; และเขียนแบบสัน 51
  51. 51. การอ้างถงึ ข้อมูล ใน Arr ay •การอ้างถงึ ข้อมูล ใน Array •ArrayName[idx] •การหาขนาดของ Array •Array.Length 52
  52. 52. คา ส่ัง foreach คาส่ัง foreach มีไว้เพ่อความ สะดวกในการ เข้าถงึ ข้อมูล แบบ Array โดยมีรูปแบบการ ใช้งานดังนี้ foreach (Datatype var in ArrayName) statement; 53
  53. 53. 54
  54. 54. การส่ง Array ไปยัง Method •ทา ได้โดยระบุให้พารามิเตอร ์ท่ง รี ้ับ เข้ามามีชนิดข้อมูล เป็ นอาเรย์ 55
  55. 55. การอ้างถงึString ในรูป Array •ข้อมูลแบบ string ในภาษา C# มีลักษณะ เหมือนว่าข้อมูลนัน้ เป็ น array ของ สายอักขระ ทาให้เราสามารถใช้ การดาเนินการต่างๆ ท่ใช้ กับ Array ได้เช่น [], foreach, .Length •มีข้อจา กัดตรงท่เราทาได้เพียง ส่วนหน่ึงส่วน ใดของ ข้อความ ได้ 56
  56. 56. Array 2 มิติ • ใน C# อนุญาตให้สามารถ สร้าง array หลาย มิติได้ โดย จานวนมิติมีได้ตังแต่ สองมิติ สาม มิติ หรือมากกว่า •การประกาศและสร้าง array 2 มิติ การประกาศ DataType [,] ArrayName; การสร้าง new DataType[nrows, 57
  57. 57. Array 2 มิติ string[,] students; students = new String[5,3]; หรือ string[,] students = new string [5,3]; 58
  58. 58. การสร้าง Array 2 มิตโ้ิ ดย กา หนดค่าเร่ิมต้น สามารถทาได้เช่นเดียวกับ array หน่ึงมติ ้ิ ArrayName = new DataType[,]{ {value(0,0), {value(0,1),…, {value(0,ncols-1)}, {value(1,0), {value(1,1),…, {value(1,ncols-1)}, 59
  59. 59. การสร้าง Array 2 มิตโ้ิ ดย กา หนดค่าเร่ิมต้น int[,] A = { {5, 3, 8}, {2, 6, 10}, {1, 8, 25}, {12, 3, 30} } การอ้างถงึ ข้อมูล ใน Array ArrayName[ri,ci]; การหาขนาดของ array ArrayName.GetLength(dim_idx) 60

×