ตัวดำเนินการความละเอียดขอบเขตใน C# มีความหมายแตกต่างกันเมื่อเปรียบเทียบกับ C ++ ใน C++ จะใช้ ::สำหรับตัวแปรส่วนกลาง ในขณะที่ C# จะเกี่ยวข้องกับเนมสเปซ
หากคุณมีประเภทที่ใช้ตัวระบุร่วมกันในเนมสเปซอื่น ให้ใช้ตัวดำเนินการแก้ไขขอบเขตเพื่อระบุประเภทดังกล่าว
ตัวอย่างเช่น เมื่อต้องการอ้างอิงคลาส System.Console ให้ใช้นามแฝงเนมสเปซส่วนกลางกับตัวดำเนินการแก้ไขขอบเขต
global::System.Console
ตัวอย่าง
using myAlias = System.Collections;
namespace Program {
class Demo {
static void Main() {
myAlias::Hashtable h = new myAlias::Hashtable();
h.Add("Q", "1");
h.Add("R", "2");
h.Add("S", "3");
h.Add("T", "4");
h.Add("U", "5");
foreach (string n in h.Keys) {
global::System.Console.WriteLine(n + " " + h[n]);
}
}
}
} ผลลัพธ์
T 4 R 2 S 3 U 5 Q 1