เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)
จัดระเบียบชนิดด้วยเนมสเปซ นำเข้าเนมสเปซด้วย using (รวมถึงนามแฝง) หลีกเลี่ยงชื่อชนกัน และจำไว้ว่า global using ใหม่กว่า C# 6
เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ) เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน
ภาพรวมเนมสเปซและการนำเข้า
เป้าหมาย: จัดระเบียบและนำเข้าโค้ด
- namespace จัดกลุ่มชนิดข้อมูลที่เกี่ยวข้องกัน
- using นำเข้าเนมสเปซ
- นามแฝงช่วยแก้ชื่อที่ชนกัน
- global using เป็นความสามารถที่ใหม่กว่า C# 6 (ข้อมูลเท่านั้น)
การประกาศเนมสเปซและชนิดข้อมูล
กำหนด namespace เพื่อจัดกลุ่มชนิดข้อมูล และคุณสามารถใช้ชื่อแบบระบุครบถ้วนเพื่อเข้าถึงชนิดข้อมูลได้เสมอ
using System;
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Fully-qualified name without using
MyApp.Models.User u = new MyApp.Models.User("Ada");
Console.WriteLine(u.Name);
}
}
พื้นฐานคำสั่ง using
เพิ่มคำสั่ง using เพื่อนำเข้าเนมสเปซ ทำให้คุณใช้ชื่อชนิดข้อมูลแบบสั้นได้
using System;
using MyApp.Models; // import the namespace declared previously
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Short type name thanks to using
User u = new User("Alan");
Console.WriteLine(u.Name);
}
}
เนมสเปซซ้อนกันและชื่อแบบระบุครบถ้วน
เนมสเปซสามารถซ้อนกันได้ ใช้ชื่อแบบ ระบุครบถ้วน เมื่อต้องการเขียนให้ชัดเจน
using System;
namespace Company
{
namespace Billing
{
public class Invoice { public int Number; }
}
namespace Support
{
public class Ticket { public int Id; }
}
}
public class Program
{
public static void Main(string[] args)
{
Company.Billing.Invoice inv = new Company.Billing.Invoice();
inv.Number = 1001;
Company.Support.Ticket t = new Company.Support.Ticket();
t.Id = 42;
Console.WriteLine("Invoice " + inv.Number + ", Ticket " + t.Id);
}
}
นามแฝงของ using
ใช้นามแฝงของ using เพื่อแยกความแตกต่างระหว่างชนิดข้อมูลที่มีชื่อเหมือนกัน หรือลดความยาวของชื่อที่ระบุครบถ้วน
using System;
// Two classes with the same short name in different namespaces
namespace LibA { public class Logger { public string Name = "A"; } }
namespace LibB { public class Logger { public string Name = "B"; } }
// Create aliases to disambiguate
using ALogger = LibA.Logger;
using BLogger = LibB.Logger;
public class Program
{
public static void Main(string[] args)
{
ALogger a = new ALogger();
BLogger b = new BLogger();
Console.WriteLine(a.Name + " & " + b.Name); // A & B
}
}
หมายเหตุและเคล็ดลับเกี่ยวกับ global using
หมายเหตุ: global using เพิ่มเข้ามาใน C# รุ่นใหม่กว่า (ไม่มีใน C# 6) ใน C# 6 ให้วางคำสั่ง using ไว้ด้านบนของแต่ละ file
- จัดชนิดข้อมูลที่เกี่ยวข้องกันไว้ใน namespace ที่ชัดเจน
- ตั้งชื่อให้สั้นแต่มีความหมาย
- ใช้นามแฝงเพื่อแก้ชื่อที่ชนกัน
ความหมายของคำสั่ง using
ทบทวน
ทบทวน: ใช้ namespace เพื่อจัดระเบียบชนิดข้อมูล และใช้ using เพื่อนำเข้าชนิดข้อมูลในแต่ละ file แก้ชื่อที่ชนกันด้วยนามแฝง การนำเข้าแบบ global เป็นความสามารถรุ่นใหม่ ใน C# 6 ให้เก็บคำสั่ง using ไว้ด้านบนของ file
คำถามที่พบบ่อย
บทเรียน “เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)”
จัดระเบียบชนิดด้วยเนมสเปซ นำเข้าเนมสเปซด้วย using (รวมถึงนามแฝง) หลีกเลี่ยงชื่อชนกัน และจำไว้ว่า global using ใหม่กว่า C# 6 คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม
ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- public/internal/protected/private (พร้อมหมายเหตุเรื่อง file)
- เนมสเปซ คำสั่ง using และ global usings (หมายเหตุ)
- ชนิดแบบบางส่วนและไฟล์