SlideShare une entreprise Scribd logo
1  sur  17
1
                        ใบความรู้ท ี่ 1.1
             การสร้า งแอพลิเ คชัน ด้ว ย MS Visual C#

      ในสภาพแวดล้อมของ MS Visual C# การพัฒนาแอพลิเคชันขึ้นมา
หนึ่งชิ้นเรียกว่าการสร้างโซลูชัน(solution) ซึ่งประกอบไปด้วยโปรเจ็กต์
(project) ตั้งแต่หนึ่งหรือมากกว่า โดยแต่ละโปรเจ็กต์เป็นชิ้นส่วนของ
ซอฟต์แวร์ที่อาจเป็นส่วนของโปรแกรมหลัก หรือส่วนไลบรารี (library) ที่
ถูกเรียกใช้โดยโปรเจ็กต์อื่นๆดังนั้นแอพลิเคชันแต่ละตัวจะประกอบไปด้วย
โปรเจ็กต์อย่างน้อยหนึ่งโปรเจ็กต์เสมอ ใบความรู้นี้จะอธิบายถึง
กระบวนการสร้างโปรเจ็กต์ใน MS Visual C# สำาหรับพัฒนาแอพลิเคชัน
แบบคอนโซล โดยมีขั้นตอนต่อไปนี้
      1. เลือกรายการเมนู New Project จากเมนู File ดังแสดงในรูปที่
1.1
      2. ในไดอะล็อกซ์ New Project เลือกชนิดของโปรเจ็กต์เป็น
Console Application และตั้งชื่อให้กับโปรเจ็กต์ในกล่องข้อความด้าน
ล่าง ดังแสดงตัวอย่างในรูปที่ 1.2 จากนั้นกดปุ่ม OK
      3. โปรเจ็กต์ใหม่จะถูกสร้างขึ้นมาพร้อมทั้งไฟล์ชื่อ Program.cs ซึ่ง
มีโปรแกรมภาษา C# มาให้
บางส่วนเพื่อให้ง่ายต่อการเริ่มต้น ดังแสดงในรูปที่ 1.3 ในที่นี้เราอาจลบ
โปรแกรมที่ให้มาทั้งหมดทิ้งไปแล้วเริ่มเขียนโปรแกรมของเราเองก็ได้ เมื่อ
ต้องการทดสอบการทำางานของโปรแกรมให้คลิกที่ปุ่ม Run
( ) เพื่อสั่งให้ MS Visual C# คอมไพล์โปรแกรมและให้โปรแกรมเริ่ม
ทำางาน




                            C# Programming                           1
2
           รูป ที่ 1.1 รายการเมนูสำาหรับสร้างโปรเจ็กต์ใหม่




รูป ที่ 1.2 ไดอะล็อกซ์ในสร้างโปรเจ็กต์ใหม่และการตั้งค่าสำาหรับคอนโซล
                              แอพลิเคชัน




                           C# Programming                         2
3
รูป ที่ 1.3 หน้าจอโดยรวมของ MS Visual C# หลังกระบวนการสร้างโปร
                              เจ็กต์
                         ใบความรู้ท ี่ 1.2
               ภาษา C# และเครื่อ งมือ พัฒ นาโปรแกรม

      ภาษา C# เป็นภาษาโปรแกรมเชิงวัตถุ (object-oriented
programming language) ที่ถูกพัฒนาขึ้นมา
โดยบริษัทไมโครซอฟต์ การพัฒนาโปรแกรมคอมพิวเตอร์ด้วยภาษา C#
นั้นจะประกอบด้วยขั้นตอนดังนี้
      • วิเคราะห์ปัญหาและความต้องการในการพัฒนาโปรแกรม เช่น
โปรแกรมจะติดต่อกับผู้ใช้อย่างไร
ข้อมูลทีผู้ใช้จะป้อนให้กับโปรแกรมเป็นอย่างไร และผลลัพธ์จะถูกแสดง
         ่
ผลอย่างไร
      • ออกแบบขั้นตอนวิธี โดยแสดงการทำางานของโปรแกรมในภาพ
รวมออกมาเป็นลำาดับขั้นตอน แต่
ละขั้นตอนมีความชัดเจนและสามารถเปลี่ยนให้อยู่ในรูปคำาสั่งภาษา C#
ได้โดยง่าย
      • นำาขั้นตอนวิธีที่ออกแบบไว้มาสร้างเป็นไฟล์โปรแกรมรหัสต้นฉบับ
(source code) ที่ถูกต้อง
ตามโครงสร้างและไวยกรณ์ของตัวภาษา C# ทั้งนี้ไฟล์รหัสต้นฉบับต้องมี
นามสกุล .cs เสมอ
เช่น prog1.cs
      • แปลงรหัสต้นฉบับให้อยู่ในรูปรหัสภาษาเครื่องที่คอมพิวเตอร์
เข้าใจและทำางานตามคำาสั่งได้
ขั้นตอนนี้ต้องใช้โปรแกรมที่เรียกว่า คอมไพเลอร์ (compiler) ไฟล์รหัส
ภาษาเครื่องที่ถูกสร้างขึ้น
จากคอมไพเลอร์จะมีนามสกุล .exe ซึ่งย่อมาจาก executable หมายถึง
ไฟล์ที่ถูกเรียกทำางานได้
      • ทดสอบการทำางานของโปรแกรม หากพบข้อผิดพลาดให้ตรวจ
สอบความถูกต้องในขั้นตอนที่ผ่าน
มา ซึ่งอาจหมายถึงการแก้ไขโปรแกรม ขั้นตอนวิธี หรือแม้กระทั่งวิเคราะห์
ปัญหาและความต้องการใหม่
      ขั้นตอนการพัฒนาโปรแกรมดังกล่าวนี้นอกจากจะสามารถจะใช้กับ
ภาษา C# แล้วยังสามารถนำาไป
ประยุกต์ใช้กับภาษาอื่น ๆ ได้ด้วย

                           C# Programming                         3
4

เครื่อ งมือ สำา หรับ พัฒ นาโปรแกรมด้ว ย C#
      ขั้นตอนในการพัฒนาโปรแกรมที่กล่าวไปแล้วในข้างต้นอาจดูซับ
ซ้อนสำาหรับผู้ที่ยังไม่มี
ประสบการณ์ อย่างไรก็ตาม ในปัจจุบันได้มีซอฟต์แวร์สำาหรับช่วยพัฒนา
โปรแกรมภาษา C# อยู่มากมาย
ให้เลือกใช้ซึ่งเพิ่มความสะดวกและลดข้อผิดพลาดลงได้เป็นอย่างมาก
ซอฟต์แวร์หลายตัวถูกแจกจ่าย
ให้นำาไปใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย หนึ่งในซอฟต์แวร์เหล่านั้นคือ
Microsoft Visual C# 2008
Express Edition (ในที่นี้ขอเรียกย่อ ๆ ว่า MS Visual C#)
MS Visual C# มีคุณสมบัติคร่าว ๆ ดังต่อไปนี้
      • สร้าง/แก้ไข/บันทึก โปรแกรมที่เขียนด้วยภาษา C# ได้
      • คอมไพล์และทดสอบโปรแกรมที่เขียนขึ้นได้ทันที
      • เพิ่มความง่ายในการเขียนโปรแกรมด้วยคุณสมบัติการเติมเต็มคำา
      สั่ง (Code Completion)
      • สนับสนุนการพัฒนาโปรแกรมทั้งประเภทที่ติดต่อกับผู้ใช้ผ่าน
      คอนโซล (Console Application)
      ซึ่งรับข้อมูลผ่านแป้นพิมพ์และแสดงผลข้อมูลในรูปตัวอักษรเพียง
      อย่างเดียว ดังตัวอย่างในรูปที่ 1.4
      และประเภทที่ใช้คุณสมบัติของวินโดวส์เต็มรูปแบบ (Windows
      Application) ซึ่งอนุญาตให้ผู้ใช้งาน
      ควบคุมโปรแกรมโดยใช้เมาส์และแสดงผลในแบบกราฟิกได้ ดัง
      ตัวอย่างในรูปที่ 1.5




                            C# Programming                          4
5

   รูป ที่ 1.4 ตัวอย่างคอนโซลแอพลิเคชัน (Console Application)




     รูป ที่ 1.5 ตัวอย่างวินโดวส์แอพลิเคชัน (Windows Application)


                    ใบความรู้ท ี่ 1.3
 โครงสร้า งโปรแกรมภาษา C# และข้อ มูล พื้น ฐานและตัว ดำา เนิน
                        การ

    การโปรแกรมภาษา C# ขั้นพื้นฐานที่มีเฉพาะส่วนของโปรแกรมหลัก
และไม่มีโปรแกรมย่อย
(subroutine) จะมีส่วนประกอบดังนี้

    namespace ___(A)___
    {
       class ___(B)___
       {
            static void Main()
            {
            ___(C)___
            }
                         C# Programming                         5
6
          }
     }

      ตามโครงสร้างข้างต้น ณ ตำาแหน่ง (A), (B), and (C) มีความหมาย
ดังต่อไปนี้
      • ตำาแหน่ง (A) ระบุชื่อของเนมสเปซ (namespace) ซึ่งใช้ในการ
กำาหนดขอบเขตให้กับคลาสต่าง ๆ
รวมถึงใช้ในการจัดโครงสร้างของโปรแกรมขนาดใหญ่ให้เป็นสัดส่วนอีก
ด้วย โดยเฉพาะอย่างยิ่งในการพัฒนาแอพลิเคชันที่ซับซ้อนโดยผู้พัฒนา
หลายคน การกำาหนดเนมสเปซของตนเองสามารถป้องกันปัญหาการตั้งชื่อ
คลาสหรือค่าคงที่อื่น ๆ ซำ้ากันได้ ส่วนไลบรารีของภาษา C# ที่มีให้เรา
เรียกใช้งานได้ ก็ถูกเตรียมเอาไว้ในเนมสเปซชื่อต่าง ๆ เช่นเดียวกัน
      • ตำาแหน่ง (B) ระบุชื่อของคลาส (class)
      • ตำาแหน่ง (C) เป็นพื้นที่สำาหรับคำาสั่งต่าง ๆ ที่ผู้เขียนโปรแกรม
ต้องการให้คอมพิวเตอร์ปฏิบัติตาม
นอกจากนี้โปรแกรมที่ไม่ซับซ้อนมากยังสามารถละส่วนที่ระบุเนมสเปซทิ้ง
ไปได้ คลาสที่ถูกสร้างขึ้นมา
โดยไม่อยู่ในขอบเขตของเนมสเปซใดจะถือว่าอยู่ในเนมสเปซกลาง
(global namespace)




     class ___(B)___
     {
          static void Main()
          {
          ___(C)___
          }
     }

      โปรแกรมภาษา C# ซึ่งแสดงข้อความ Hello World! ออกทาง
จอภาพ จากนั้นรอจนกว่าผู้ใช้จะกด Enter และจบการทำางาน โปรแกรมนี้
อยู่ในเนมสเปซชื่อ HelloApp และคลาสชื่อ HelloClass
     namespace HelloApp

                            C# Programming                           6
7
     {
          class HelloClass
          {
                static void Main()
                {
                System.Console.WriteLine("Hello World!");
                System.Console.ReadLine();
                }
          }
     }

     โปรแกรมภาษา C# ซึ่งให้ผลลัพธ์เช่นเดียวกับโปรแกรมข้างต้น แต่
เขียนโดยไม่ระบุเนมสเปซ
     class HelloClass
     {
          static void Main()
          {
          System.Console.WriteLine("Hello World!");
          System.Console.ReadLine();
          }
     }
กฎการตั้ง ชื่อ ตัว ระบุใ นภาษา C#
      โปรแกรมภาษา C# ที่นำาไปใช้งานจริงมักจะมีการใช้งานตัวระบุ
(identifier) อยู่ทั่วไปภายใน
โปรแกรม เช่นชื่อของเนมสเปซและคลาสที่ได้กล่าวไปข้างต้น ภาษา C#
ได้จำากัดกฎเกณฑ์การตั้งชื่อให้ตัว
ระบุเอาไว้ดังต่อไปนี้
      • ชื่อตัวระบุต้องประกอบด้วยตัวอักษรภาษาอังกฤษ (A-Z,a-z)
ตัวเลข (0-9) หรือเครื่องหมายขีดเส้น
ใต้ (_) เท่านั้น
      • ตัวอักษรตัวแรกของชื่อต้องเป็นตัวอักษรภาษาอังกฤษ หรือตัวขีด
เส้นใต้
      • ชื่อตัวระบุจะมีความยาวได้ไม่เกิน 63 ตัวอักษร
      • ชื่อตัวระบุต้องไม่ซำ้ากับคำาสงวน (reserved word) เช่น class,
namespace, int, void,static


                           C# Programming                          7
8
ชนิด ข้อ มูล (Data Types) ใน C#
      C# กำาหนดชนิดของข้อมูลไว้หลากหลายชนิดเพื่อรองรับการจัดเก็บ
ข้อมูลหลาย ๆ ประเภท
ตารางที่ 1 แสดงชนิดข้อมูลหลัก ๆ ที่พบบ่อยในโปรแกรมทั่วไป
            ตารางที่ 1 ชนิด ข้อ มูล หลัก ๆ ของภาษา C#
   ชนิด                               คำา อธิบ าย
   ข้อ มูล
   char       อักขระเดี่ยว เช่น a
   bool       ค่าความจริง เป็นไปได้สองค่าคือ true หรือ false
   Byte       จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 255
    Int       จำานวนเต็มมีเครื่องหมาย ตั้งแต-่ 2,147,483,648 ถึง
              2,147,483,647
   Uint       จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 4,294,967,295
   Long       จำานวนเต็มมีเครื่องหมาย ตั้งแต-่
              9,223,372,036,854,775,808
              ถึง9,223,372,036,854,775,807
  ulong       จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 and
              18,446,744,073,709,551,615
   float      จำานวนจริง (มีทศนิยมได้) เช่น 3.14159
 double จำานวนจริงที่เก็บความละเอียดมากเป็นสองเท่า
  string      ข้อความ (สายอักขระ) เช่น Hello




ตัว แปร (Variables)
      ตัวแปร (variable) เป็นตัวระบุประเภทหนึ่งที่นำามาใช้ในการอ้างถึง
ข้อมูล โดยค่าของมันสามารถ
ถูกเปลี่ยนแปลงได้ตลอดเวลาที่โปรแกรมกำาลังทำางานอยู่ ในภาษา C#
ตัวแปรทุกตัวต้องถูกประกาศก่อนที่จะถูกนำามาใช้งาน โดยมีการระบุชนิด
ข้อมูลที่จะใช้กับตัวแปรนั้น ๆ ไว้ด้วยตามรูปแบบดังนี้
     DataType variableName;
    ในที่นี้ variableName คือชื่อของตัวแปร และ DataType คือชือ
                                                             ่
ของชนิดข้อมูลที่ตัวแปรนี้
                           C# Programming                           8
9
เก็บค่าได้ (ตามตัวอย่างในตารางที่ 1)
      นอกจากการประกาศตัวแปรตามแบบข้างต้นแล้ว เรายังสามารถ
กำาหนดค่าเริ่มต้นให้กับตัวแปรนั้น ๆ ได้อีกด้วย โดยมีรูปแบบดังนี้
      DataType variableName = initialValue;
      จะเห็นว่าส่วนที่เพิ่มขึ้นมาคือเครื่องหมาย = และ initialValue ซึ่ง
ระบุค่าเริ่มต้นให้กับตัวแปรชื่อvariableName
      คำาสั่งด้านล่างประกาศตัวแปรชื่อ distance ที่มีชนิดข้อมูลเป็น uint
และไม่มีการกำาหนดค่าเริ่มต้น

      uint distance;

     คำาสั่งด้านล่างประกาศตัวแปรชื่อ salary ที่มีชนิดข้อมูลเป็น long
และค่าเริ่มต้นเป็น 30000
      long salary = 30000;

ค่า คงที่ (Constants)
      ค่าคงที่เป็นตัวระบุอีกประเภทหนึ่งที่นำามาใช้ในการอ้างถึงข้อมูลเช่น
เดียวกับตัวแปร สิ่งที่แตกต่าง
จากตัวแปรก็คือค่าของมันไม่สามารถเปลี่ยนแปลงได้อีกหลังจากการ
ประกาศ
      ในภาษา C# ค่าคงที่ต้องถูกประกาศโดยระบุชนิดข้อมูลและค่าตั้งต้น
ก่อนถูกนำามาใช้งานเสมอ
การประกาศค่าคงที่จะคล้ายคลึงกับการประกาศตัวแปร แตกต่างกันตรงที่
ต้องมีการระบุด้วยคีย์เวิร์ด
const ดังแสดง

      const DataType constantName = value;

     ในที่นี้ constantName คือชือของค่าคงที่ ส่วน DataType คือชือ
                                      ่                                      ่
ชนิดข้อมูลที่ค่าคงที่นี้ใช้อ้างถึง และ value ระบุค่าที่ค่าคงที่นี้ถูกใช้เป็น
ตัวแทน
     คำาสั่งด้านล่างประกาศค่าคงที่ชื่อ myconst โดยมีชนิดข้อมูลเป็น
แบบ double และใช้แทนค่า 2.71828

                               C# Programming                               9
10
     const double myconst = 2.71828;

       การใช้งานค่าคงที่มีประโยชน์มากในกรณีที่เราต้องอ้างอิงถึงค่าใด ๆ
ซำ้ากันอยู่บ่อยครั้งภายในโปรแกรม ดังเช่นตัวอย่างต่อไปนี้
       โปรแกรมด้านล่างเป็นโปรแกรมที่ทำาให้คอมพิวเตอร์กล่าวคำาทักทาย
ทั่ว ๆ ไปสองบรรทัดกับผู้ใช้
ซึ่งสมมติว่าชื่อ Harry จะเห็นว่าหากเราต้องการเปลี่ยนชื่อผู้ใช้เป็นชื่ออื่น
นั้นก็สามารถทำาได้ง่าย ๆ โดยแก้ไข
บรรทัด ที่ 5 ให้ค่าคงที่แทนด้วยค่าอื่นเท่านั้น

     1: using System;
     2:
     3: class Intro {
     4: static void Main() {
     5: const string MY_NAME = "Harry";
     6:
     7: Console.WriteLine("Hello {0}, how are you?",
     MY_NAME);
     8: Console.WriteLine("And how can I help you, {0}?",
     9: MY_NAME);
     10: Console.ReadLine();
     11: }
     12: }


     ตัวแปรรวมถึงค่าคงที่ (ที่มีชนิดข้อมูลแบบเดียวกันสามารถถูก
ประกาศร่วมกันภายในคำาสั่งเดียวกัน
ได้โดยคั้นด้วยเครื่องหมายคอมม่า



     const int FreezingPoint = 32;
     int x, y;
     int wd = 5, ht = 8;
     const double PI = 3.1424;

                             C# Programming                             10
11
     char ch = 'A';
     string mynote = "Hello, Kitty";
     int j = 5;

นิพ จน์ท างคณิต ศาสตร์ (Arithmetic Expressions)
       นิพจน์ (expression) ภายในโปรแกรมภาษา C# หมายถึงส่วนของ
โปรแกรมที่สามารถถูกตีความเป็นค่าต่าง ๆ ได้ โดยนิพจน์อาจประกอบ
ด้วยเทอมเพียงเทอมเดียว หรือเกิดจากการผสมกันของนิพจน์อื่นที่เล็กกว่า
ด้านล่างเป็นตัวอย่างของนิพจน์ที่ประกอบด้วยเทอมเพียงเทอมเดียว
       • ตัวเลขโดด เช่น 3000, 1.414
       • ข้อความ เช่น "Hello, World"
       • ค่าความจริง ได้แก่ true และ false
       • ตัวแปรหรือค่าคงที่เดี่ยว ๆ ที่ผ่านการกำาหนดค่าให้แล้ว เช่น
myName, salary
       ในที่นี้จะเน้นการศึกษาเกี่ยวกับนิพจน์ที่ให้ค่าเป็นตัวเลข เรียกว่า
นิพจน์ทางคณิตศาสตร์ (arithmetic
expression) โดยเราสามารถผสมนิพจน์ต่าง ๆ ให้เป็นนิพจน์ที่ซับซ้อน
ขึ้นโดยอาศัยตัวดำาเนินการ
ทางคณิตศาสตร์ที่มีให้ในภาษา C# ดังตารางที่2
                ตารางที่ 2 ตัว ดำา เนิน การทางคณิต ศาสตร์
   ตัว ดำา เนิน    สัญ ลัก ษ จำา นวนนิพ จน์ท ี่ ตัว อย่า ง       ค่า ของ
       การ            ณ์         นำา มาผสม                         นิพ จน์
                                                               เมื่อ x = 20
บวก (add)             +                2             x+4             20
ลบ                     -               2            32 – x           12
(subtract)
คูณ(multiply           *               2             x*2             40
)
หาร(divide)            /               2             x/2             20
หารเอาเศษ             %                2             x/6              2
(modolo)
กลับ                   -               1               -x           -20
เครื่องหมาย
(negate)
จัดกลุ่ม              ()            N/A           (x+2) * 3          66
                             C# Programming                             11
12

     หากนิพจน์ที่สร้างขึ้นมาใหม่ประกอบด้วยตัวดำาเนินการมากกว่าหนึ่ง
ตัว C# จะคำานวณค่าเรียง
ตามลำาดับก่อนหลังดังนี้
     •( )
     • *, / และ %
     • + และ -
     • หากตัวดำาเนินการมีลำาดับเท่าเทียมกัน คำานวณจากซ้ายไปขวา


คำา สั่ง ที่ใ ช้ใ นการแสดงผล

       คำาสั่งหลักที่ใช้ในการแสดงข้อความออกทางจอภาพได้แก่คำาสั่ง
Write และ WriteLine
ซึ่งถูกนิยามไว้ในคลาสชื่อ Console และเนมสเปสชื่อ System สองคำาสั่งนี้มี
การใช้งานในลักษณะ
เดียวกัน แตกต่างกันที่คำาสั่ง WriteLine จะพิมพ์ข้อความตามด้วยการขึ้น
บรรทัดใหม่หลังจากพิมพ์เสร็จ
ลองพิจารณาการใช้งานจากตัวอย่างต่อไปนี้

การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยระบุเนมสเปสเต็มรูปแบบ
     class Hello
     {
          static void Main()
          {
                System.Console.Write("Hello, ");
                System.Console.WriteLine("everybody");
          }
     }


    สังเกตว่าการเรียกใช้คำาสั่ง Write และ WriteLine นั้นต้องระบุถึง
คลาส Console ซึ่งเป็น
คลาสที่นิยามคำาสั่งนี้เอาไว้ และเนื่องจากคลาส Console เป็นคลาสที่อยู่ใน
เนมสเปส System จึงต้อง



                               C# Programming                        12
13
ระบุชื่อเนมสเปสไว้ด้วยตามตัวอย่าง อย่างไรก็ตามเราสามารถทำา
โปรแกรมให้สั้นลงได้โดยใช้คำาสั่ง using ซึ่งเป็นการสั่งให้คอมไพเลอร์
ค้นหาคลาสที่เรียกใช้งานในเนมสเปสที่ระบุ ดังตัวอย่างต่อไปนี้




การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยใช้คำาสั่ง using
     using System;
     class Hello
     {
          static void Main()
          {
                Console.Write("Hello, ");
                Console.WriteLine("everybody");
          }
     }



     คำาสั่ง Write และ WriteLine นั้นยังสามารถเรียกใช้งานในรูปแบบที่
ซับซ้อนกว่านี้อีกมาก ดังแสดงในตัวอย่างต่อไปนี้

     การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยใช้สตริงกำาหนดรูป
แบบ (formatting
string)


     using System;
     class Hello
     {
          static void Main()
          {
                int width = 80, height = 30;
                Console.WriteLine("Area of {0}x{1} rectangle = {2}",
                width, height, width*height);
          }
     }


     จะเห็นว่าสตริงที่เป็นพารามิเตอร์ตัวแรกของคำาสั่ง WriteLine นั้น
เป็นสตริงที่ใช้สำาหรับกำาหนดรูปแบบในการแสดงผลของนิพจน์ที่ตามมา
อีกสามตัว สัญลักษณ์ {0} {1} และ {2} คือตำาแหน่งที่ C# จะนำาค่าของ
นิพจน์ width, height และ width*height มาแทนที่
                            C# Programming                             13
14




                        ใบความรู้ท ี่ 1.4
                     การขอความช่ว ยเหลือ

     โปรแกรม MS Visual C# 2008 Express (รวมถึงโปรแกรมอื่น ๆ
ในชุด MS Visual Studio 2008
Express) มีการเชื่อมต่อกับระบบไลบรารีของ Microsoft Developer
Network (MSDN Library) ซึ่งรวบรวม
เอกสารเชิงเทคนิคสำาหรับการพัฒนาซอฟต์แวร์บนไมโครซอฟต์วินโดวส์
ไว้โดยละเอียด หาก MSDN
Library ได้ถูกติดตั้งไว้พร้อมกับการติดตั้ง MS Visual C# ผู้พัฒนา
โปรแกรมก็สามารถเรียก MSDN Library
จากเมนู Help เพื่อเปิดเอกสารเพื่ออ่านรายละเอียดคุณสมบัติและการใช้
งานคลาสต่าง ๆ ที่ถูกเตรียมไว้
ใน .NET Framework ได้ รูปที่ 1.6 แสดงการเรียกใช้งาน MSDN
Library จากหน้าจอหลักของ MS Visual
C# ซึ่งจะได้หน้าจอคล้ายคลึงกับรูปที่ 1.7




                          C# Programming                       14
15




 รูป ที่ 1.6 การเรียกใช้งาน MSDN Library จากหน้าจอหลักของ MS
                             Visual C#

      การค้นเอกสารจาก MSDN Library นั้นสามารถทำาได้หลายรูปแบบ
ผู้พัฒนาโปรแกรมอาจเลือก
หัวข้อจากสารบัญทางด้านซ้ายมือ หรือป้อนคำาค้นในกล่อง Search เพื่อ
ค้นหาหัวข้อที่เกี่ยวข้อง รูปที่ 1.8
แสดงผลลัพธ์จากการค้นหาด้วยคำาค้น Math




                         C# Programming                       15
16




     รูป ที่ 1.7 หน้าจอของ MSDN Library ในส่วนของการค้นหา




           รูป ที่ 1.8 ผลลัพธ์จากการป้อนคำาค้น Math
    นอกจากการเข้าสู่ MSDN Library ผ่านทางเมนู Help แล้ว ผู้
พัฒนาโปรแกรมยังสามารถค้นหา
                         C# Programming                       16
17
รายละเอียดของชื่อเนมสเปส คลาส คีย์เวิร์ด หรือเมท็อดทีต้องการได้จาก
                                                      ่
พื้นที่การเขียนโปรแกรมโดยตรง
โดยเลื่อนเคอร์เซอร์มาวางไว้ในคำาที่ต้องการสืบค้น แล้วกดปุ่ม F1 ดัง
แสดงตัวอย่างในรูปที่ 1.9 ซึ่งจะได้
ผลลัพธ์เป็นรายการของคลาสที่อยู่ในเนมสเปส System ดังรูปที่ 1.10




            รูป ที่ 1.9 การขอความช่วยเหลือโดยใช้ปุ่ม F1




      รูป ที่ 1.10 รายชื่อคลาสในเนมสเปซ System หลังใช้คำา
      สั่งค้นหาผ่าน MSDN C# Programming
                            Library                               17

Contenu connexe

Tendances

ภาษา C เบื้องต้น
ภาษา C เบื้องต้นภาษา C เบื้องต้น
ภาษา C เบื้องต้นApinyaphorn
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาSaranporn Rungrueang
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)Visaitus Palasak
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซีnative
 

Tendances (15)

ภาษา C เบื้องต้น
ภาษา C เบื้องต้นภาษา C เบื้องต้น
ภาษา C เบื้องต้น
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
66
6666
66
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
Chapter1
Chapter1Chapter1
Chapter1
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 

Similaire à Know 1 1

โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีณัฐพล บัวพันธ์
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาAeew Autaporn
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาwinewic199
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซีmansuang1978
 
ภาษา (1)
ภาษา (1)ภาษา (1)
ภาษา (1)nattawt
 
ภาษา C
ภาษา Cภาษา C
ภาษา Cnattawt
 

Similaire à Know 1 1 (20)

c# part1.pptx
c# part1.pptxc# part1.pptx
c# part1.pptx
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Know1 1
Know1 1Know1 1
Know1 1
 
Know1 2
Know1 2Know1 2
Know1 2
 
01 intro
01 intro01 intro
01 intro
 
Know1 3
Know1 3Know1 3
Know1 3
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
 
vb.net
vb.netvb.net
vb.net
 
Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01Gnewvb01 090401013958-phpapp01
Gnewvb01 090401013958-phpapp01
 
2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี2. โครงสร้างภาษาซี
2. โครงสร้างภาษาซี
 
Java 7&12 6 2
Java 7&12 6 2Java 7&12 6 2
Java 7&12 6 2
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
ภาษา (1)
ภาษา (1)ภาษา (1)
ภาษา (1)
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 

Plus de ชญานิษฐ์ ทบวัน

สำเนาของ รายชื่อทำงานกับครู2
สำเนาของ รายชื่อทำงานกับครู2สำเนาของ รายชื่อทำงานกับครู2
สำเนาของ รายชื่อทำงานกับครู2ชญานิษฐ์ ทบวัน
 

Plus de ชญานิษฐ์ ทบวัน (20)

Pre o-net job3
Pre o-net job3Pre o-net job3
Pre o-net job3
 
Pre o-net job3 ชุด สอง
Pre o-net job3 ชุด สองPre o-net job3 ชุด สอง
Pre o-net job3 ชุด สอง
 
O net 52 M. 3 Tecnology
O net 52 M. 3 TecnologyO net 52 M. 3 Tecnology
O net 52 M. 3 Tecnology
 
ScoreMiddle156
ScoreMiddle156ScoreMiddle156
ScoreMiddle156
 
scoremidle156
scoremidle156scoremidle156
scoremidle156
 
สำเนาของ รายชื่อทำงานกับครู2
สำเนาของ รายชื่อทำงานกับครู2สำเนาของ รายชื่อทำงานกับครู2
สำเนาของ รายชื่อทำงานกับครู2
 
Flowchart
FlowchartFlowchart
Flowchart
 
Flowchart6
Flowchart6Flowchart6
Flowchart6
 
Flowchart5
Flowchart5Flowchart5
Flowchart5
 
Flowchart3
Flowchart3Flowchart3
Flowchart3
 
Flowchart4
Flowchart4Flowchart4
Flowchart4
 
Flowchart2
Flowchart2Flowchart2
Flowchart2
 
Flowchart1
Flowchart1Flowchart1
Flowchart1
 
ใบงานที่ 1
ใบงานที่ 1ใบงานที่ 1
ใบงานที่ 1
 
report M.4
report M.4report M.4
report M.4
 
Ex 1
Ex  1Ex  1
Ex 1
 
ตัวอย่างทำหัวข้อ Powerpoint
ตัวอย่างทำหัวข้อ Powerpointตัวอย่างทำหัวข้อ Powerpoint
ตัวอย่างทำหัวข้อ Powerpoint
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
วิธีการทำ Power point
วิธีการทำ Power pointวิธีการทำ Power point
วิธีการทำ Power point
 
วิธีการใช้โปรแกรม Microsoft word 5
วิธีการใช้โปรแกรม Microsoft word 5วิธีการใช้โปรแกรม Microsoft word 5
วิธีการใช้โปรแกรม Microsoft word 5
 

Know 1 1

  • 1. 1 ใบความรู้ท ี่ 1.1 การสร้า งแอพลิเ คชัน ด้ว ย MS Visual C# ในสภาพแวดล้อมของ MS Visual C# การพัฒนาแอพลิเคชันขึ้นมา หนึ่งชิ้นเรียกว่าการสร้างโซลูชัน(solution) ซึ่งประกอบไปด้วยโปรเจ็กต์ (project) ตั้งแต่หนึ่งหรือมากกว่า โดยแต่ละโปรเจ็กต์เป็นชิ้นส่วนของ ซอฟต์แวร์ที่อาจเป็นส่วนของโปรแกรมหลัก หรือส่วนไลบรารี (library) ที่ ถูกเรียกใช้โดยโปรเจ็กต์อื่นๆดังนั้นแอพลิเคชันแต่ละตัวจะประกอบไปด้วย โปรเจ็กต์อย่างน้อยหนึ่งโปรเจ็กต์เสมอ ใบความรู้นี้จะอธิบายถึง กระบวนการสร้างโปรเจ็กต์ใน MS Visual C# สำาหรับพัฒนาแอพลิเคชัน แบบคอนโซล โดยมีขั้นตอนต่อไปนี้ 1. เลือกรายการเมนู New Project จากเมนู File ดังแสดงในรูปที่ 1.1 2. ในไดอะล็อกซ์ New Project เลือกชนิดของโปรเจ็กต์เป็น Console Application และตั้งชื่อให้กับโปรเจ็กต์ในกล่องข้อความด้าน ล่าง ดังแสดงตัวอย่างในรูปที่ 1.2 จากนั้นกดปุ่ม OK 3. โปรเจ็กต์ใหม่จะถูกสร้างขึ้นมาพร้อมทั้งไฟล์ชื่อ Program.cs ซึ่ง มีโปรแกรมภาษา C# มาให้ บางส่วนเพื่อให้ง่ายต่อการเริ่มต้น ดังแสดงในรูปที่ 1.3 ในที่นี้เราอาจลบ โปรแกรมที่ให้มาทั้งหมดทิ้งไปแล้วเริ่มเขียนโปรแกรมของเราเองก็ได้ เมื่อ ต้องการทดสอบการทำางานของโปรแกรมให้คลิกที่ปุ่ม Run ( ) เพื่อสั่งให้ MS Visual C# คอมไพล์โปรแกรมและให้โปรแกรมเริ่ม ทำางาน C# Programming 1
  • 2. 2 รูป ที่ 1.1 รายการเมนูสำาหรับสร้างโปรเจ็กต์ใหม่ รูป ที่ 1.2 ไดอะล็อกซ์ในสร้างโปรเจ็กต์ใหม่และการตั้งค่าสำาหรับคอนโซล แอพลิเคชัน C# Programming 2
  • 3. 3 รูป ที่ 1.3 หน้าจอโดยรวมของ MS Visual C# หลังกระบวนการสร้างโปร เจ็กต์ ใบความรู้ท ี่ 1.2 ภาษา C# และเครื่อ งมือ พัฒ นาโปรแกรม ภาษา C# เป็นภาษาโปรแกรมเชิงวัตถุ (object-oriented programming language) ที่ถูกพัฒนาขึ้นมา โดยบริษัทไมโครซอฟต์ การพัฒนาโปรแกรมคอมพิวเตอร์ด้วยภาษา C# นั้นจะประกอบด้วยขั้นตอนดังนี้ • วิเคราะห์ปัญหาและความต้องการในการพัฒนาโปรแกรม เช่น โปรแกรมจะติดต่อกับผู้ใช้อย่างไร ข้อมูลทีผู้ใช้จะป้อนให้กับโปรแกรมเป็นอย่างไร และผลลัพธ์จะถูกแสดง ่ ผลอย่างไร • ออกแบบขั้นตอนวิธี โดยแสดงการทำางานของโปรแกรมในภาพ รวมออกมาเป็นลำาดับขั้นตอน แต่ ละขั้นตอนมีความชัดเจนและสามารถเปลี่ยนให้อยู่ในรูปคำาสั่งภาษา C# ได้โดยง่าย • นำาขั้นตอนวิธีที่ออกแบบไว้มาสร้างเป็นไฟล์โปรแกรมรหัสต้นฉบับ (source code) ที่ถูกต้อง ตามโครงสร้างและไวยกรณ์ของตัวภาษา C# ทั้งนี้ไฟล์รหัสต้นฉบับต้องมี นามสกุล .cs เสมอ เช่น prog1.cs • แปลงรหัสต้นฉบับให้อยู่ในรูปรหัสภาษาเครื่องที่คอมพิวเตอร์ เข้าใจและทำางานตามคำาสั่งได้ ขั้นตอนนี้ต้องใช้โปรแกรมที่เรียกว่า คอมไพเลอร์ (compiler) ไฟล์รหัส ภาษาเครื่องที่ถูกสร้างขึ้น จากคอมไพเลอร์จะมีนามสกุล .exe ซึ่งย่อมาจาก executable หมายถึง ไฟล์ที่ถูกเรียกทำางานได้ • ทดสอบการทำางานของโปรแกรม หากพบข้อผิดพลาดให้ตรวจ สอบความถูกต้องในขั้นตอนที่ผ่าน มา ซึ่งอาจหมายถึงการแก้ไขโปรแกรม ขั้นตอนวิธี หรือแม้กระทั่งวิเคราะห์ ปัญหาและความต้องการใหม่ ขั้นตอนการพัฒนาโปรแกรมดังกล่าวนี้นอกจากจะสามารถจะใช้กับ ภาษา C# แล้วยังสามารถนำาไป ประยุกต์ใช้กับภาษาอื่น ๆ ได้ด้วย C# Programming 3
  • 4. 4 เครื่อ งมือ สำา หรับ พัฒ นาโปรแกรมด้ว ย C# ขั้นตอนในการพัฒนาโปรแกรมที่กล่าวไปแล้วในข้างต้นอาจดูซับ ซ้อนสำาหรับผู้ที่ยังไม่มี ประสบการณ์ อย่างไรก็ตาม ในปัจจุบันได้มีซอฟต์แวร์สำาหรับช่วยพัฒนา โปรแกรมภาษา C# อยู่มากมาย ให้เลือกใช้ซึ่งเพิ่มความสะดวกและลดข้อผิดพลาดลงได้เป็นอย่างมาก ซอฟต์แวร์หลายตัวถูกแจกจ่าย ให้นำาไปใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย หนึ่งในซอฟต์แวร์เหล่านั้นคือ Microsoft Visual C# 2008 Express Edition (ในที่นี้ขอเรียกย่อ ๆ ว่า MS Visual C#) MS Visual C# มีคุณสมบัติคร่าว ๆ ดังต่อไปนี้ • สร้าง/แก้ไข/บันทึก โปรแกรมที่เขียนด้วยภาษา C# ได้ • คอมไพล์และทดสอบโปรแกรมที่เขียนขึ้นได้ทันที • เพิ่มความง่ายในการเขียนโปรแกรมด้วยคุณสมบัติการเติมเต็มคำา สั่ง (Code Completion) • สนับสนุนการพัฒนาโปรแกรมทั้งประเภทที่ติดต่อกับผู้ใช้ผ่าน คอนโซล (Console Application) ซึ่งรับข้อมูลผ่านแป้นพิมพ์และแสดงผลข้อมูลในรูปตัวอักษรเพียง อย่างเดียว ดังตัวอย่างในรูปที่ 1.4 และประเภทที่ใช้คุณสมบัติของวินโดวส์เต็มรูปแบบ (Windows Application) ซึ่งอนุญาตให้ผู้ใช้งาน ควบคุมโปรแกรมโดยใช้เมาส์และแสดงผลในแบบกราฟิกได้ ดัง ตัวอย่างในรูปที่ 1.5 C# Programming 4
  • 5. 5 รูป ที่ 1.4 ตัวอย่างคอนโซลแอพลิเคชัน (Console Application) รูป ที่ 1.5 ตัวอย่างวินโดวส์แอพลิเคชัน (Windows Application) ใบความรู้ท ี่ 1.3 โครงสร้า งโปรแกรมภาษา C# และข้อ มูล พื้น ฐานและตัว ดำา เนิน การ การโปรแกรมภาษา C# ขั้นพื้นฐานที่มีเฉพาะส่วนของโปรแกรมหลัก และไม่มีโปรแกรมย่อย (subroutine) จะมีส่วนประกอบดังนี้ namespace ___(A)___ { class ___(B)___ { static void Main() { ___(C)___ } C# Programming 5
  • 6. 6 } } ตามโครงสร้างข้างต้น ณ ตำาแหน่ง (A), (B), and (C) มีความหมาย ดังต่อไปนี้ • ตำาแหน่ง (A) ระบุชื่อของเนมสเปซ (namespace) ซึ่งใช้ในการ กำาหนดขอบเขตให้กับคลาสต่าง ๆ รวมถึงใช้ในการจัดโครงสร้างของโปรแกรมขนาดใหญ่ให้เป็นสัดส่วนอีก ด้วย โดยเฉพาะอย่างยิ่งในการพัฒนาแอพลิเคชันที่ซับซ้อนโดยผู้พัฒนา หลายคน การกำาหนดเนมสเปซของตนเองสามารถป้องกันปัญหาการตั้งชื่อ คลาสหรือค่าคงที่อื่น ๆ ซำ้ากันได้ ส่วนไลบรารีของภาษา C# ที่มีให้เรา เรียกใช้งานได้ ก็ถูกเตรียมเอาไว้ในเนมสเปซชื่อต่าง ๆ เช่นเดียวกัน • ตำาแหน่ง (B) ระบุชื่อของคลาส (class) • ตำาแหน่ง (C) เป็นพื้นที่สำาหรับคำาสั่งต่าง ๆ ที่ผู้เขียนโปรแกรม ต้องการให้คอมพิวเตอร์ปฏิบัติตาม นอกจากนี้โปรแกรมที่ไม่ซับซ้อนมากยังสามารถละส่วนที่ระบุเนมสเปซทิ้ง ไปได้ คลาสที่ถูกสร้างขึ้นมา โดยไม่อยู่ในขอบเขตของเนมสเปซใดจะถือว่าอยู่ในเนมสเปซกลาง (global namespace) class ___(B)___ { static void Main() { ___(C)___ } } โปรแกรมภาษา C# ซึ่งแสดงข้อความ Hello World! ออกทาง จอภาพ จากนั้นรอจนกว่าผู้ใช้จะกด Enter และจบการทำางาน โปรแกรมนี้ อยู่ในเนมสเปซชื่อ HelloApp และคลาสชื่อ HelloClass namespace HelloApp C# Programming 6
  • 7. 7 { class HelloClass { static void Main() { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } } } โปรแกรมภาษา C# ซึ่งให้ผลลัพธ์เช่นเดียวกับโปรแกรมข้างต้น แต่ เขียนโดยไม่ระบุเนมสเปซ class HelloClass { static void Main() { System.Console.WriteLine("Hello World!"); System.Console.ReadLine(); } } กฎการตั้ง ชื่อ ตัว ระบุใ นภาษา C# โปรแกรมภาษา C# ที่นำาไปใช้งานจริงมักจะมีการใช้งานตัวระบุ (identifier) อยู่ทั่วไปภายใน โปรแกรม เช่นชื่อของเนมสเปซและคลาสที่ได้กล่าวไปข้างต้น ภาษา C# ได้จำากัดกฎเกณฑ์การตั้งชื่อให้ตัว ระบุเอาไว้ดังต่อไปนี้ • ชื่อตัวระบุต้องประกอบด้วยตัวอักษรภาษาอังกฤษ (A-Z,a-z) ตัวเลข (0-9) หรือเครื่องหมายขีดเส้น ใต้ (_) เท่านั้น • ตัวอักษรตัวแรกของชื่อต้องเป็นตัวอักษรภาษาอังกฤษ หรือตัวขีด เส้นใต้ • ชื่อตัวระบุจะมีความยาวได้ไม่เกิน 63 ตัวอักษร • ชื่อตัวระบุต้องไม่ซำ้ากับคำาสงวน (reserved word) เช่น class, namespace, int, void,static C# Programming 7
  • 8. 8 ชนิด ข้อ มูล (Data Types) ใน C# C# กำาหนดชนิดของข้อมูลไว้หลากหลายชนิดเพื่อรองรับการจัดเก็บ ข้อมูลหลาย ๆ ประเภท ตารางที่ 1 แสดงชนิดข้อมูลหลัก ๆ ที่พบบ่อยในโปรแกรมทั่วไป ตารางที่ 1 ชนิด ข้อ มูล หลัก ๆ ของภาษา C# ชนิด คำา อธิบ าย ข้อ มูล char อักขระเดี่ยว เช่น a bool ค่าความจริง เป็นไปได้สองค่าคือ true หรือ false Byte จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 255 Int จำานวนเต็มมีเครื่องหมาย ตั้งแต-่ 2,147,483,648 ถึง 2,147,483,647 Uint จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 ถึง 4,294,967,295 Long จำานวนเต็มมีเครื่องหมาย ตั้งแต-่ 9,223,372,036,854,775,808 ถึง9,223,372,036,854,775,807 ulong จำานวนเต็มไม่มีเครื่องหมาย ตั้งแต่ 0 and 18,446,744,073,709,551,615 float จำานวนจริง (มีทศนิยมได้) เช่น 3.14159 double จำานวนจริงที่เก็บความละเอียดมากเป็นสองเท่า string ข้อความ (สายอักขระ) เช่น Hello ตัว แปร (Variables) ตัวแปร (variable) เป็นตัวระบุประเภทหนึ่งที่นำามาใช้ในการอ้างถึง ข้อมูล โดยค่าของมันสามารถ ถูกเปลี่ยนแปลงได้ตลอดเวลาที่โปรแกรมกำาลังทำางานอยู่ ในภาษา C# ตัวแปรทุกตัวต้องถูกประกาศก่อนที่จะถูกนำามาใช้งาน โดยมีการระบุชนิด ข้อมูลที่จะใช้กับตัวแปรนั้น ๆ ไว้ด้วยตามรูปแบบดังนี้ DataType variableName; ในที่นี้ variableName คือชื่อของตัวแปร และ DataType คือชือ ่ ของชนิดข้อมูลที่ตัวแปรนี้ C# Programming 8
  • 9. 9 เก็บค่าได้ (ตามตัวอย่างในตารางที่ 1) นอกจากการประกาศตัวแปรตามแบบข้างต้นแล้ว เรายังสามารถ กำาหนดค่าเริ่มต้นให้กับตัวแปรนั้น ๆ ได้อีกด้วย โดยมีรูปแบบดังนี้ DataType variableName = initialValue; จะเห็นว่าส่วนที่เพิ่มขึ้นมาคือเครื่องหมาย = และ initialValue ซึ่ง ระบุค่าเริ่มต้นให้กับตัวแปรชื่อvariableName คำาสั่งด้านล่างประกาศตัวแปรชื่อ distance ที่มีชนิดข้อมูลเป็น uint และไม่มีการกำาหนดค่าเริ่มต้น uint distance; คำาสั่งด้านล่างประกาศตัวแปรชื่อ salary ที่มีชนิดข้อมูลเป็น long และค่าเริ่มต้นเป็น 30000 long salary = 30000; ค่า คงที่ (Constants) ค่าคงที่เป็นตัวระบุอีกประเภทหนึ่งที่นำามาใช้ในการอ้างถึงข้อมูลเช่น เดียวกับตัวแปร สิ่งที่แตกต่าง จากตัวแปรก็คือค่าของมันไม่สามารถเปลี่ยนแปลงได้อีกหลังจากการ ประกาศ ในภาษา C# ค่าคงที่ต้องถูกประกาศโดยระบุชนิดข้อมูลและค่าตั้งต้น ก่อนถูกนำามาใช้งานเสมอ การประกาศค่าคงที่จะคล้ายคลึงกับการประกาศตัวแปร แตกต่างกันตรงที่ ต้องมีการระบุด้วยคีย์เวิร์ด const ดังแสดง const DataType constantName = value; ในที่นี้ constantName คือชือของค่าคงที่ ส่วน DataType คือชือ ่ ่ ชนิดข้อมูลที่ค่าคงที่นี้ใช้อ้างถึง และ value ระบุค่าที่ค่าคงที่นี้ถูกใช้เป็น ตัวแทน คำาสั่งด้านล่างประกาศค่าคงที่ชื่อ myconst โดยมีชนิดข้อมูลเป็น แบบ double และใช้แทนค่า 2.71828 C# Programming 9
  • 10. 10 const double myconst = 2.71828; การใช้งานค่าคงที่มีประโยชน์มากในกรณีที่เราต้องอ้างอิงถึงค่าใด ๆ ซำ้ากันอยู่บ่อยครั้งภายในโปรแกรม ดังเช่นตัวอย่างต่อไปนี้ โปรแกรมด้านล่างเป็นโปรแกรมที่ทำาให้คอมพิวเตอร์กล่าวคำาทักทาย ทั่ว ๆ ไปสองบรรทัดกับผู้ใช้ ซึ่งสมมติว่าชื่อ Harry จะเห็นว่าหากเราต้องการเปลี่ยนชื่อผู้ใช้เป็นชื่ออื่น นั้นก็สามารถทำาได้ง่าย ๆ โดยแก้ไข บรรทัด ที่ 5 ให้ค่าคงที่แทนด้วยค่าอื่นเท่านั้น 1: using System; 2: 3: class Intro { 4: static void Main() { 5: const string MY_NAME = "Harry"; 6: 7: Console.WriteLine("Hello {0}, how are you?", MY_NAME); 8: Console.WriteLine("And how can I help you, {0}?", 9: MY_NAME); 10: Console.ReadLine(); 11: } 12: } ตัวแปรรวมถึงค่าคงที่ (ที่มีชนิดข้อมูลแบบเดียวกันสามารถถูก ประกาศร่วมกันภายในคำาสั่งเดียวกัน ได้โดยคั้นด้วยเครื่องหมายคอมม่า const int FreezingPoint = 32; int x, y; int wd = 5, ht = 8; const double PI = 3.1424; C# Programming 10
  • 11. 11 char ch = 'A'; string mynote = "Hello, Kitty"; int j = 5; นิพ จน์ท างคณิต ศาสตร์ (Arithmetic Expressions) นิพจน์ (expression) ภายในโปรแกรมภาษา C# หมายถึงส่วนของ โปรแกรมที่สามารถถูกตีความเป็นค่าต่าง ๆ ได้ โดยนิพจน์อาจประกอบ ด้วยเทอมเพียงเทอมเดียว หรือเกิดจากการผสมกันของนิพจน์อื่นที่เล็กกว่า ด้านล่างเป็นตัวอย่างของนิพจน์ที่ประกอบด้วยเทอมเพียงเทอมเดียว • ตัวเลขโดด เช่น 3000, 1.414 • ข้อความ เช่น "Hello, World" • ค่าความจริง ได้แก่ true และ false • ตัวแปรหรือค่าคงที่เดี่ยว ๆ ที่ผ่านการกำาหนดค่าให้แล้ว เช่น myName, salary ในที่นี้จะเน้นการศึกษาเกี่ยวกับนิพจน์ที่ให้ค่าเป็นตัวเลข เรียกว่า นิพจน์ทางคณิตศาสตร์ (arithmetic expression) โดยเราสามารถผสมนิพจน์ต่าง ๆ ให้เป็นนิพจน์ที่ซับซ้อน ขึ้นโดยอาศัยตัวดำาเนินการ ทางคณิตศาสตร์ที่มีให้ในภาษา C# ดังตารางที่2 ตารางที่ 2 ตัว ดำา เนิน การทางคณิต ศาสตร์ ตัว ดำา เนิน สัญ ลัก ษ จำา นวนนิพ จน์ท ี่ ตัว อย่า ง ค่า ของ การ ณ์ นำา มาผสม นิพ จน์ เมื่อ x = 20 บวก (add) + 2 x+4 20 ลบ - 2 32 – x 12 (subtract) คูณ(multiply * 2 x*2 40 ) หาร(divide) / 2 x/2 20 หารเอาเศษ % 2 x/6 2 (modolo) กลับ - 1 -x -20 เครื่องหมาย (negate) จัดกลุ่ม () N/A (x+2) * 3 66 C# Programming 11
  • 12. 12 หากนิพจน์ที่สร้างขึ้นมาใหม่ประกอบด้วยตัวดำาเนินการมากกว่าหนึ่ง ตัว C# จะคำานวณค่าเรียง ตามลำาดับก่อนหลังดังนี้ •( ) • *, / และ % • + และ - • หากตัวดำาเนินการมีลำาดับเท่าเทียมกัน คำานวณจากซ้ายไปขวา คำา สั่ง ที่ใ ช้ใ นการแสดงผล คำาสั่งหลักที่ใช้ในการแสดงข้อความออกทางจอภาพได้แก่คำาสั่ง Write และ WriteLine ซึ่งถูกนิยามไว้ในคลาสชื่อ Console และเนมสเปสชื่อ System สองคำาสั่งนี้มี การใช้งานในลักษณะ เดียวกัน แตกต่างกันที่คำาสั่ง WriteLine จะพิมพ์ข้อความตามด้วยการขึ้น บรรทัดใหม่หลังจากพิมพ์เสร็จ ลองพิจารณาการใช้งานจากตัวอย่างต่อไปนี้ การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยระบุเนมสเปสเต็มรูปแบบ class Hello { static void Main() { System.Console.Write("Hello, "); System.Console.WriteLine("everybody"); } } สังเกตว่าการเรียกใช้คำาสั่ง Write และ WriteLine นั้นต้องระบุถึง คลาส Console ซึ่งเป็น คลาสที่นิยามคำาสั่งนี้เอาไว้ และเนื่องจากคลาส Console เป็นคลาสที่อยู่ใน เนมสเปส System จึงต้อง C# Programming 12
  • 13. 13 ระบุชื่อเนมสเปสไว้ด้วยตามตัวอย่าง อย่างไรก็ตามเราสามารถทำา โปรแกรมให้สั้นลงได้โดยใช้คำาสั่ง using ซึ่งเป็นการสั่งให้คอมไพเลอร์ ค้นหาคลาสที่เรียกใช้งานในเนมสเปสที่ระบุ ดังตัวอย่างต่อไปนี้ การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยใช้คำาสั่ง using using System; class Hello { static void Main() { Console.Write("Hello, "); Console.WriteLine("everybody"); } } คำาสั่ง Write และ WriteLine นั้นยังสามารถเรียกใช้งานในรูปแบบที่ ซับซ้อนกว่านี้อีกมาก ดังแสดงในตัวอย่างต่อไปนี้ การเรียกใช้งานคำาสั่ง Write และ WriteLine โดยใช้สตริงกำาหนดรูป แบบ (formatting string) using System; class Hello { static void Main() { int width = 80, height = 30; Console.WriteLine("Area of {0}x{1} rectangle = {2}", width, height, width*height); } } จะเห็นว่าสตริงที่เป็นพารามิเตอร์ตัวแรกของคำาสั่ง WriteLine นั้น เป็นสตริงที่ใช้สำาหรับกำาหนดรูปแบบในการแสดงผลของนิพจน์ที่ตามมา อีกสามตัว สัญลักษณ์ {0} {1} และ {2} คือตำาแหน่งที่ C# จะนำาค่าของ นิพจน์ width, height และ width*height มาแทนที่ C# Programming 13
  • 14. 14 ใบความรู้ท ี่ 1.4 การขอความช่ว ยเหลือ โปรแกรม MS Visual C# 2008 Express (รวมถึงโปรแกรมอื่น ๆ ในชุด MS Visual Studio 2008 Express) มีการเชื่อมต่อกับระบบไลบรารีของ Microsoft Developer Network (MSDN Library) ซึ่งรวบรวม เอกสารเชิงเทคนิคสำาหรับการพัฒนาซอฟต์แวร์บนไมโครซอฟต์วินโดวส์ ไว้โดยละเอียด หาก MSDN Library ได้ถูกติดตั้งไว้พร้อมกับการติดตั้ง MS Visual C# ผู้พัฒนา โปรแกรมก็สามารถเรียก MSDN Library จากเมนู Help เพื่อเปิดเอกสารเพื่ออ่านรายละเอียดคุณสมบัติและการใช้ งานคลาสต่าง ๆ ที่ถูกเตรียมไว้ ใน .NET Framework ได้ รูปที่ 1.6 แสดงการเรียกใช้งาน MSDN Library จากหน้าจอหลักของ MS Visual C# ซึ่งจะได้หน้าจอคล้ายคลึงกับรูปที่ 1.7 C# Programming 14
  • 15. 15 รูป ที่ 1.6 การเรียกใช้งาน MSDN Library จากหน้าจอหลักของ MS Visual C# การค้นเอกสารจาก MSDN Library นั้นสามารถทำาได้หลายรูปแบบ ผู้พัฒนาโปรแกรมอาจเลือก หัวข้อจากสารบัญทางด้านซ้ายมือ หรือป้อนคำาค้นในกล่อง Search เพื่อ ค้นหาหัวข้อที่เกี่ยวข้อง รูปที่ 1.8 แสดงผลลัพธ์จากการค้นหาด้วยคำาค้น Math C# Programming 15
  • 16. 16 รูป ที่ 1.7 หน้าจอของ MSDN Library ในส่วนของการค้นหา รูป ที่ 1.8 ผลลัพธ์จากการป้อนคำาค้น Math นอกจากการเข้าสู่ MSDN Library ผ่านทางเมนู Help แล้ว ผู้ พัฒนาโปรแกรมยังสามารถค้นหา C# Programming 16
  • 17. 17 รายละเอียดของชื่อเนมสเปส คลาส คีย์เวิร์ด หรือเมท็อดทีต้องการได้จาก ่ พื้นที่การเขียนโปรแกรมโดยตรง โดยเลื่อนเคอร์เซอร์มาวางไว้ในคำาที่ต้องการสืบค้น แล้วกดปุ่ม F1 ดัง แสดงตัวอย่างในรูปที่ 1.9 ซึ่งจะได้ ผลลัพธ์เป็นรายการของคลาสที่อยู่ในเนมสเปส System ดังรูปที่ 1.10 รูป ที่ 1.9 การขอความช่วยเหลือโดยใช้ปุ่ม F1 รูป ที่ 1.10 รายชื่อคลาสในเนมสเปซ System หลังใช้คำา สั่งค้นหาผ่าน MSDN C# Programming Library 17