วันจันทร์ที่ 15 พฤศจิกายน พ.ศ. 2553

สวัสดี namespace

Console Application
เมื่อเราสร้างโปรเจ็กค์ประเภท Console Application นั่นหมายความว่าเราจะติดต่อกับ console mode หรือเรียกว่า text mode ผลลัพธ์ของโปรแกรมจะอยู่ในรูปตัวอักษรทั้งหมด และปรากฏขึ้น ณ หน้าต่าง Command Prompt เท่านั้น (หน้าต่างสีดำ)

Command Prompt เป็นผลจากไฟล์ executable ถูกเรียกให้รัน ไฟล์ดังกล่าวนี้เป็นผลลัพธ์จากการ compile (แปล) ไฟล์โปรแกรมภาษา C# โดย C# Compiler ซึ่งถูกจัดการโดย CLR

เหตุนี้เมื่อเพื่อนๆพยายามรันโปรแกรมเดิมหลังจากถูก compile มาแล้ว Visual Studio จึงเรียกไปยัง executable ไฟล์เดิมนั้น และปรากฏหน้าต่าง Command Prompt ใหม่ในเวลาอันรวดเร็ว (หรือกล่าวว่าไม่ compile ไฟล์โปรแกรมภาษา C# เดิม ถ้าหากยังไม่ถูกแก้ไข)

คำสั่ง Console.WriteLine() กับระบบ namespace
เริ่มจากคำว่า Console คือการเรียกไปยังเนมสเปช (namespace) ที่ชื่อ Console นั่นเพราะภาษา .NET ทุกภาษาจะต้องเรียกคำสั่ง (ในขณะนี้คือคำสั่ง WriteLine) ผ่านคลาสไลบรารี่ (class library) ที่ถูกจัดไว้อย่างเป็นหมวดหมู่ และเราเรียกหมวดหมู่เหล่านี้ว่า namespace

เนมสเปชเริ่มต้นชื่อ System หากต้องการเข้าถึงเนมสเปชระดับย่อยของ System ให้ใช้เครื่องหมาย . (dot) ขั้นแต่ละเนมสเปชไปเรื่อยๆ ซึ่งคำสั่ง Console.WriteLine() มีเนมสเปชแบบเต็มคือ
     System.Console.WriteLine();

วิธีเรียกใช้งาน namespace
แบ่งออกเป็นสองแบบ ได้แก่
- Fully-Qualified Class Name หรือ FQCN
     สำหรับการเขียนเนมสเปชแบบเต็ม
- Non-Qualified Class Name หรือ NQCN
     สำหรับการเขียนเนมสเปชแบบย่อ โดยผนวกเอาลำดับเนมสเปชก่อนหน้าไว้กับคำสั่ง using แทน

เราสามารถเขียนโค้ดเรียกใช้งานเนมสเปชผสมกันหรืออย่างใดอย่างหนึ่งก็ได้ แต่โดยทั่วไปแล้วนิยมใช้แบบ NQCN มากกว่าครับ

ภาษา C# ต้องจบท้ายคำสั่งด้วยเครื่องหมาย ;
นี่คงเป็นเรื่องที่เพื่อนๆหลายคนทราบดีอยู่แล้ว เพราะ C# พัฒนาจากภาษา C/C++ และภาษา Java ทว่ากระทั่งคำสั่ง using ซึ่งใช้ผนวกเนมสเปชก็ต้องจบด้วยเครื่องหมาย ; เช่นกัน

P03_Summation
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P03_Summation โดยโค้ดเพิ่มดังนี้
     Console.Write("Enter number1 : ");
     String str1 = Console.ReadLine();
     int number1 = int.Parse(str1);

     Console.Write("Enter number2 : ");
     int number2 = int.Parse(Console.ReadLine());

     int result = number1 + number2;
     Console.WriteLine("Result : " + result);

- ผลลัพธ์
- โปรแกรมจะหยุดรอให้ป้อนตัวเลขจำนวนเต็มจำนวนสองครั้ง
- แล้วแสดงผลบวกของตัวเลขสองจำนวนดังกล่าว

แบบฝึกหัด
- จงปรับปรุงโปรแกรมนี้ให้สามารถแสดงผลบวกของตัวเลขสามจำนวนที่รับเข้าจากแป้นพิมพ์

ไม่มีความคิดเห็น:

แสดงความคิดเห็น