C# Hello World: โปรแกรมแอปพลิเคชันคอนโซลตัวแรก

⚡ สรุปอย่างชาญฉลาด

โปรแกรม C# Hello World เป็นแอปพลิเคชันคอนโซลตัวแรกสุดคลาสสิกที่แนะนำส่วนประกอบหลักของภาษา รวมถึงการใช้ไดเร็กทีฟ เนมสเปซ คลาส และเมธอด Main พร้อมทั้งพิมพ์ข้อความง่ายๆ ไปยังหน้าจอ Windows พร้อมรับคำสั่ง.

  • 🖥️ ข้อมูลพื้นฐานเกี่ยวกับคอนโซล: แอปพลิเคชันคอนโซลทำงานอยู่ที่ Windows หน้าต่างคำสั่ง (command prompt) และเป็นโปรเจ็กต์แรกที่เหมาะสำหรับการเรียนรู้ภาษา C#
  • 🧩 โครงสร้างของโปรแกรม: โปรแกรม C# ทุกโปรแกรมใช้คำสั่ง (directives), เนมสเปซ (namespace), คลาส (class) และเมธอด Main ซึ่งเป็นจุดเริ่มต้น (entry-point method)
  • ⌨️ วิธีการส่งออก: Console.Write จะพิมพ์ข้อความในบรรทัดเดียวกัน ในขณะที่ Console.WriteLine จะเพิ่มบรรทัดใหม่ต่อท้ายข้อความเดิม
  • 🛠️ สร้างและใช้งาน: Visual Studio จะคอมไพล์และรันโปรแกรม หรือ dotnet CLI ก็ทำเช่นเดียวกันได้โดยไม่ต้องใช้ IDE
  • 🔑 จุดเริ่มต้น: การทำงานจะเริ่มต้นในหน้าต่าง Main เสมอ และ Console.ReadKey จะทำให้หน้าต่างเปิดอยู่จนกว่าจะมีการกดปุ่มใดปุ่มหนึ่ง
  • 🤖 ความช่วยเหลือจากเอไอ: GitHub Copilot และ ML.NET นำเสนอคำแนะนำโค้ดและการเรียนรู้ของเครื่องมาสู่การพัฒนา C# ยุคใหม่

แอปพลิเคชันคอนโซลแรก C# "Hello World"

C# เป็นหนึ่งในภาษาที่จัดทำโดย Microsoft เพื่อทำงานกับ .NET ภาษาโปรแกรมนี้มีคุณสมบัติมากมาย ซึ่งช่วยให้นักพัฒนาสามารถ...ping แอปพลิเคชันประเภทต่างๆ

C# เป็นภาษาการเขียนโปรแกรมเชิงวัตถุ และมีลักษณะคล้ายคลึงกับภาษาโปรแกรมหลายด้าน C++- ในบทช่วยสอนนี้ เราจะดูวิธีพัฒนาแอปพลิเคชันแรกของเรา

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

การสร้างแอปพลิเคชันคอนโซลตัวแรก

แอปพลิเคชันคอนโซลคือแอปพลิเคชันที่สามารถเรียกใช้ในพร้อมท์คำสั่งได้ Windowsสำหรับผู้เริ่มต้นใช้งาน .NET การสร้างแอปพลิเคชันคอนโซลถือเป็นขั้นตอนแรกที่เหมาะสมที่สุด

ในตัวอย่างของเรา เราจะใช้ Visual Studio เพื่อสร้างโปรเจ็กต์ประเภทคอนโซล ต่อไป เราจะใช้แอปพลิเคชันคอนโซลเพื่อแสดงข้อความ "Hello World" จากนั้นเราจะดูวิธีการสร้างและเรียกใช้แอปพลิเคชันคอนโซล

เรามาลองทำตามขั้นตอนด้านล่างนี้เพื่อสร้างตัวอย่างนี้กัน

ขั้นตอน 1) ขั้นตอนแรกคือการสร้างโปรเจ็กต์ใหม่ใน Visual Studio เมื่อเปิด Visual Studio แล้ว คุณต้องเลือกตัวเลือกเมนู New->Project

เลือก "สร้างโปรเจ็กต์ใหม่" ใน Visual Studio

ขั้นตอน 2) ขั้นตอนต่อไปคือการเลือกประเภทโปรเจ็กต์เป็นแอปพลิเคชันคอนโซล ในที่นี้ เราต้องระบุชื่อและที่ตั้งของโครงการของเราด้วย

เลือกประเภทโปรเจ็กต์แอปพลิเคชันคอนโซล

  1. ในกล่องโต้ตอบโครงการ เราจะเห็นตัวเลือกต่างๆ สำหรับการสร้างโครงการประเภทต่างๆ ใน ​​Visual Studio คลิกที่นี่ Windows ตัวเลือกทางด้านซ้ายมือ
  2. เมื่อเราคลิก Windows ตัวเลือกในขั้นตอนที่แล้ว เราจะเห็นตัวเลือกสำหรับ Console Application คลิกตัวเลือกนี้
  3. จากนั้นเราจะตั้งชื่อแอปพลิเคชัน ซึ่งในกรณีของเราคือ DemoApplication เรายังต้องระบุสถานที่สำหรับจัดเก็บแอปพลิเคชันของเราด้วย
  4. ในที่สุดเราคลิกปุ่ม 'ตกลง' เพื่อให้ Visual Studio สร้างโปรเจ็กต์ของเรา

หากปฏิบัติตามขั้นตอนข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้ใน Visual Studio

ผลลัพธ์:-

โปรเจ็กต์ DemoApplication สร้างขึ้นใน Visual Studio

  1. โปรเจ็กต์ที่ชื่อว่า 'DemoApplication' จะถูกสร้างขึ้นใน Visual Studio โปรเจ็กต์นี้จะมีส่วนประกอบที่จำเป็นทั้งหมดสำหรับการเรียกใช้แอปพลิเคชันคอนโซล
  2. ไฟล์โปรแกรมหลักที่ชื่อ Program.cs เป็นไฟล์โค้ดเริ่มต้นที่จะถูกสร้างขึ้นเมื่อสร้างแอปพลิเคชันใหม่ใน Visual Studio โค้ดนี้จะประกอบด้วยโค้ดที่จำเป็นสำหรับแอปพลิเคชันคอนโซลของเรา

ขั้นตอน 3) ต่อไปนี้เรามาเขียนโค้ดที่จะใช้แสดงข้อความ “Hello World” ในแอปพลิเคชันคอนโซลกัน

ต้องป้อนโค้ดด้านล่างทั้งหมดลงในไฟล์ Program.cs รหัสจะถูกใช้เพื่อเขียน "Hello World" เมื่อแอปพลิเคชันคอนโซลทำงาน

ใส่โค้ด Hello World ลงในไฟล์ Program.cs

โปรแกรม C# Hello World

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 { 
  static void Main(string[] args) 
  {
   Console.Write("Hello World");

   Console.ReadKey();
  }
 }
}

Code คำอธิบาย:-

  1. บรรทัดแรกๆ ของโค้ดเป็นบรรทัดเริ่มต้นที่ Visual Studio ใส่ไว้ คำสั่ง 'using' ใช้สำหรับนำเข้าโมดูล .NET ที่มีอยู่แล้วในแอปพลิเคชันคอนโซลของเรา โมดูลเหล่านี้จำเป็นสำหรับแอปพลิเคชัน .NET ทุกตัวที่จะทำงานได้อย่างถูกต้อง โมดูลเหล่านี้มีโค้ดขั้นต่ำที่สุดที่จำเป็นต่อการทำงานของโค้ด Windows เครื่อง
  2. ทุกแอปพลิเคชันเป็นของคลาส C# เป็นภาษาเชิงวัตถุ ดังนั้นโค้ดทั้งหมดจึงต้องถูกกำหนดไว้ในโมดูลที่สามารถดำรงอยู่ได้ด้วยตัวเองที่เรียกว่า 'คลาส' และในแต่ละคลาสก็เป็นของเนมสเปซ เนมสเปซก็คือกลุ่มเชิงตรรกะนั่นเองping ของชั้นเรียน
  3. ฟังก์ชันหลักเป็นฟังก์ชันพิเศษซึ่งจะถูกเรียกโดยอัตโนมัติเมื่อแอปพลิเคชันคอนโซลทำงาน ที่นี่คุณต้องแน่ใจว่าได้ป้อนรหัสที่จำเป็นในการแสดงสตริงที่จำเป็นในแอปพลิเคชันคอนโซล
  4. คลาส Console มีอยู่ใน .NET ซึ่งช่วยให้เราสามารถทำงานกับแอปพลิเคชันคอนโซลได้ ในที่นี้เราใช้เมธอดในตัวที่ชื่อว่า 'Write' เพื่อเขียนข้อความ “Hello World” ลงในคอนโซล
  5. จากนั้นเราใช้เมธอด Console.ReadKey() เพื่ออ่านปุ่มกดใดๆ จากคอนโซล เมื่อใส่โค้ดบรรทัดนี้ โปรแกรมจะรอและไม่หยุดทำงานทันที โปรแกรมจะรอให้ผู้ใช้กดปุ่มใดๆ ก่อนที่จะหยุดทำงานในที่สุด หากคุณไม่ใส่คำสั่งนี้ในโค้ด โปรแกรมจะหยุดทำงานทันทีที่เริ่มทำงาน

ขั้นตอน 4) เรียกใช้ของคุณ โปรแกรม .NETหากต้องการเรียกใช้โปรแกรมใดๆ คุณต้องคลิกปุ่มเริ่มใน Visual Studio

เรียกใช้โปรแกรมโดยใช้ปุ่ม Start

หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้

Output:

ข้อความ "Hello World" จะแสดงในคอนโซล

จากผลลัพธ์ คุณจะเห็นได้อย่างชัดเจนว่าข้อความ “Hello World” แสดงผลได้อย่างถูกต้อง นั่นเป็นเพราะคำสั่ง Console.Write ทำให้ข้อความนี้ถูกส่งไปยังคอนโซล

โครงสร้างของโปรแกรม Hello World ในภาษา C#

โปรแกรมคอนโซล C# ทุกโปรแกรมสร้างขึ้นจากส่วนประกอบเล็กๆ ที่คาดเดาได้ การรู้จักส่วนประกอบเหล่านี้ทำให้ตัวอย่าง Hello World อ่านง่ายและต่อยอดได้ง่าย

  • โดยใช้คำสั่ง: บรรทัดเช่น `using System;` จะนำเข้าเนมสเปซสำเร็จรูปของ .NET เพื่อให้สามารถใช้คลาสเหล่านั้นได้โดยไม่ต้องเขียนพาธแบบเต็ม หากไม่ใช้ `using System;` โค้ดจะต้องใช้ `System.Console` แทน `Console`
  • เนมสเปซ: เนมสเปซคือคอนเทนเนอร์เชิงตรรกะที่จัดกลุ่มคลาสที่เกี่ยวข้องเข้าด้วยกันและป้องกันการตั้งชื่อที่ซ้ำกัน ในตัวอย่างนี้ DemoApplication คือเนมสเปซ
  • ระดับ: โค้ด C# ทุกบรรทัดที่สามารถทำงานได้จะอยู่ภายในคลาส เทมเพลตจะสร้างคลาสชื่อ Program เพื่อเก็บตรรกะของโปรแกรม
  • วิธีการหลัก: โฟลเดอร์ main คือจุดเริ่มต้นของการทำงานของแอปพลิเคชัน การทำงานจะเริ่มต้นที่นี่โดยอัตโนมัติ และโปรแกรมสามารถกำหนดจุดเริ่มต้นได้เพียงจุดเดียวเท่านั้น
  • คงที่และว่างเปล่า: คีย์เวิร์ด static ช่วยให้เมธอด Main สามารถทำงานได้โดยไม่ต้องสร้างอ็อบเจ็กต์ของคลาส และ void หมายความว่าเมธอดนั้นจะไม่ส่งค่าใดๆ กลับมา

เมื่อนำส่วนประกอบเหล่านี้มารวมกัน จะเปลี่ยนข้อความเพียงไม่กี่บรรทัดให้กลายเป็นไฟล์ที่สามารถเรียกใช้งานได้ Windows แอพลิเคชัน

Console.Write กับ Console.WriteLine ใน C#

ตัวอย่าง Hello World ใช้ Console.Write แต่โปรแกรม C# ส่วนใหญ่ก็ใช้ Console.WriteLine ด้วยเช่นกัน ทั้งสองวิธีใช้ส่งข้อความไปยังคอนโซล และความแตกต่างอยู่ที่สิ่งที่เกิดขึ้นหลังจากที่ข้อความถูกพิมพ์ออกมาแล้ว

  • คอนโซล.เขียน: คำสั่งนี้จะพิมพ์ค่าที่ป้อนเข้ามาอย่างแม่นยำและวางเคอร์เซอร์ไว้ที่บรรทัดเดิม ดังนั้นการเรียกใช้คำสั่ง Write สองครั้งติดต่อกันจะแสดงผลลัพธ์เคียงข้างกัน
  • คอนโซล.WriteLine: แสดงค่าแล้วเพิ่มการขึ้นบรรทัดใหม่ เพื่อให้ผลลัพธ์ถัดไปเริ่มต้นในบรรทัดใหม่

ตัวอย่างเช่น การเรียกใช้ Console.Write(“Hello “) ตามด้วย Console.Write(“World”) จะพิมพ์ Hello World ในบรรทัดเดียว ในขณะที่การเรียกใช้ WriteLine สองครั้งจะพิมพ์แต่ละคำในบรรทัดแยกกัน WriteLine เป็นตัวเลือกที่นิยมใช้มากกว่าสำหรับการแสดงผลแบบอ่านง่ายทีละบรรทัด ในขณะที่ Write มีประโยชน์เมื่อต้องการสร้างข้อความทีละส่วน เช่น การพิมพ์ข้อความแจ้งเตือนก่อนอ่านข้อมูลจากผู้ใช้ ทั้งสองเมธอดอยู่ในคลาส Console ภายในเนมสเปซ System

วิธีการเรียกใช้งานแอปพลิเคชันคอนโซล C# โดยใช้ .NET CLI

Visual Studio ไม่ใช่เพียงวิธีเดียวในการสร้างและรันโปรแกรม C# .NET CLI (command-line interface) ซึ่งเป็นเครื่องมือข้ามแพลตฟอร์มที่รวมอยู่ใน .NET SDK สามารถคอมไพล์และรันแอปพลิเคชันคอนโซลได้บน Windows, ลินุกซ์ และ macOS โดยไม่ต้องใช้ IDE ซึ่งสะดวกสำหรับการทดลองอย่างรวดเร็ว การทำงานอัตโนมัติ และการตั้งค่าแบบเบาๆ เช่น Visual Studio Code.

ทำตามขั้นตอนต่อไปนี้เพื่อสร้างและเรียกใช้โปรแกรม "Hello World" จากเทอร์มินัล:

  1. ติดตั้ง .NET SDK: ดาวน์โหลดและติดตั้ง SDK จากเว็บไซต์ .NET อย่างเป็นทางการ จากนั้นตรวจสอบว่าใช้งานได้หรือไม่โดยเรียกใช้คำสั่ง dotnet –version
  2. สร้างโครงการ: เรียกใช้คำสั่ง `dotnet new console -o DemoApplication` คำสั่งนี้จะสร้างโฟลเดอร์พร้อมไฟล์โปรเจ็กต์และไฟล์ `Program.cs` ที่แสดงข้อความอยู่แล้ว
  3. ย้ายเข้าไปในโฟลเดอร์: เรียกใช้คำสั่ง cd DemoApplication เพื่อให้คำสั่ง CLI ทำงานกับโปรเจกต์ใหม่
  4. เรียกใช้โปรแกรม: เรียกใช้คำสั่ง `dotnet run` CLI จะทำการกู้คืนส่วนประกอบที่จำเป็น คอมไพล์โค้ด และเรียกใช้งาน โดยแสดงผลลัพธ์ออกทางเทอร์มินัล
  5. สร้างโดยไม่ต้องรัน: เรียกใช้คำสั่ง `dotnet build` เมื่อคุณต้องการคอมไพล์และสร้างไฟล์ปฏิบัติการในโฟลเดอร์ `bin` เท่านั้น

เทมเพลตโปรเจ็กต์สมัยใหม่ใช้คำสั่งระดับบนสุด ดังนั้นไฟล์ Program.cs ใหม่ อาจมีเพียงบรรทัดเดียว เช่น Console.WriteLine(“Hello, World!”) โดยไม่ต้องระบุคลาสหรือเมธอด Main อย่างชัดเจน คอมไพเลอร์จะสร้างสิ่งเหล่านี้ให้โดยอัตโนมัติ ซึ่งช่วยให้โปรแกรมขนาดเล็กมีขนาดสั้น เมื่อโปรเจ็กต์โตขึ้น คุณยังคงสามารถเพิ่มคลาส เนมสเปซ และเมธอด Main อย่างชัดเจนได้เช่นเดียวกับที่แสดงไว้ก่อนหน้านี้ เนื่องจากคำสั่งเดียวกันนี้ใช้งานได้กับทุกระบบปฏิบัติการที่รองรับ .NET CLI จึงเป็นวิธีที่พกพาสะดวกที่สุดในการรันโค้ด C#

คำถามที่พบบ่อย

C# เป็นภาษาคอมไพล์ คอมไพเลอร์จะแปลงซอร์สโค้ดให้เป็นภาษาระดับกลาง (IL) จากนั้นรันไทม์ .NET จะคอมไพล์เป็นโค้ดเครื่องจักรแบบเนทีฟในระหว่างการประมวลผลโดยใช้คอมไพเลอร์แบบจัสต์อินไทม์ โมเดลสองขั้นตอนนี้ทำให้ C# มีทั้งความสามารถในการพกพาและประสิทธิภาพการทำงานในขณะรันไทม์ที่แข็งแกร่ง

ใช้ Console.ReadLine() เพื่ออ่านข้อความทั้งบรรทัดที่ผู้ใช้พิมพ์ และส่งคืนค่าเป็นสตริง Console.Read() อ่านอักขระตัวเดียว และ Console.ReadKey() รับการกดปุ่มหนึ่งครั้ง ในการทำงานกับตัวเลข ให้แปลงสตริงที่ส่งคืนโดยใช้วิธีการต่างๆ เช่น int.Parse()

C# เป็นภาษาโปรแกรม ส่วน .NET เป็นแพลตฟอร์มที่ใช้รัน C# .NET จัดเตรียมรันไทม์ ไลบรารีคลาส และเครื่องมือต่างๆ ที่ใช้ในการประมวลผลโค้ด C# คุณเขียนโปรแกรมด้วยภาษา C# แล้ว .NET จะคอมไพล์และรันโปรแกรมเหล่านั้นบน .NET Windows, ลินุกซ์ และ macOS.

เทมเพลตแอปพลิเคชันคอนโซล (.NET Framework) กำหนดเป้าหมายไปที่ Windows-เฉพาะ .NET Framework เท่านั้น ในขณะที่เทมเพลต Console App (.NET) มุ่งเป้าไปที่ .NET รุ่นใหม่ที่ใช้งานได้หลายแพลตฟอร์ม โครงการใหม่ควรเลือกเทมเพลต .NET เนื่องจากมีการพัฒนาอย่างต่อเนื่อง ทำงานได้เร็วขึ้น และรองรับการทำงานบน Windows, ลินุกซ์ และ macOS.

ไม่ แม้ว่า C# จะยืมไวยากรณ์มาจากก็ตาม C++ ถึงแม้ทั้งสองจะเป็นการเขียนโปรแกรมเชิงวัตถุ แต่ก็เป็นภาษาโปรแกรมที่แตกต่างกัน C++ คอมไพล์โดยตรงเป็นโค้ดเนทีฟและจัดการหน่วยความจำด้วยตนเอง ในขณะที่ C# ทำงานบนรันไทม์ .NET ที่มีการจัดการหน่วยความจำอัตโนมัติ ทำให้ใช้งานง่ายกว่าสำหรับผู้เริ่มต้น

ใช่แล้ว C# มีไวยากรณ์ที่ชัดเจน อ่านง่าย มีเครื่องมือที่ทรงพลังใน Visual Studio และมีเอกสารประกอบที่ละเอียด ทำให้ผู้เริ่มต้นสามารถสร้างแอปพลิเคชันคอนโซลได้อย่างรวดเร็ว การออกแบบเชิงวัตถุยังช่วยสอนแนวคิดที่สามารถนำไปประยุกต์ใช้ได้ในภาษาอื่นๆ ด้วย Java, C++และภาษาอื่นๆ ทำให้เป็นจุดเริ่มต้นที่ดี

ใช่แล้ว GitHub Copilot แนะนำให้เขียนโค้ด C# ภายใน Visual Studio และ Visual Studio Codeตั้งแต่โปรแกรม Hello World แบบเต็มรูปแบบไปจนถึงเมธอดแต่ละตัว ช่วยลดความเร็วในการทำงานประจำวันpingแต่คุณควรตรวจสอบผลลัพธ์ที่ได้ เนื่องจากโค้ดที่สร้างขึ้นอาจมองข้ามกรณีพิเศษหรือใช้ API ที่ล้าสมัย

ใช่แล้ว ML.NET ฝึกฝนและรันโมเดลแมชชีนเลิร์นนิงโดยตรงในภาษา C# และ ONNX Runtime จะทำการรันโมเดลดีพเลิร์นนิงที่ได้รับการฝึกฝนล่วงหน้าแล้ว Microsoftไลบรารี .Extensions.AI เชื่อมต่อแอปพลิเคชัน C# เข้ากับโมเดลภาษาขนาดใหญ่ ทำให้ฟีเจอร์อัจฉริยะต่างๆ ผสานเข้ากับระบบนิเวศ .NET ได้อย่างเป็นธรรมชาติ

สรุปโพสต์นี้ด้วย: