ไดเร็กทอรีการทำงานอ้างอิงถึงตำแหน่งในระบบไฟล์ที่แอปพลิเคชันกำลังทำงานอยู่ เนื่องจากทำหน้าที่เป็นจุดเริ่มต้นสำหรับกิจกรรมไฟล์และโฟลเดอร์ที่เกี่ยวข้องทั้งหมด ไดเร็กทอรีนี้จึงจำเป็นต่อการทำความเข้าใจ เราจะมาเรียนรู้เกี่ยวกับตัวอย่างโค้ดต่างๆ เพื่อพูดถึงเรื่องนี้ในคู่มือนี้
ตัวอย่างที่ 1:
มาดูตัวอย่างแรกของคู่มือนี้เพื่อสาธิตการใช้ฟังก์ชัน GetCurrentDirectory() ใน C# คำสั่ง 'การใช้' อนุญาตให้โปรแกรมเข้าถึงคลาสและวิธีการจากเนมสเปซ 'System' และ 'System.IO' เนมสเปซ “System” มีประเภทพื้นฐานและฟังก์ชันการทำงานของระบบขั้นพื้นฐาน ในขณะที่ “System.IO” มีคลาสสำหรับใช้กับเอกสารและไดเร็กทอรี
บรรทัดถัดไปกำหนดคลาสใหม่ชื่อ 'Dummy' ผ่านคีย์เวิร์ด 'class' ชื่อ 'Dummy' เป็นชื่อที่กำหนดเองและสามารถเปลี่ยนแปลงเป็นตัวระบุที่ถูกต้องได้ ฟังก์ชัน main() เริ่มต้นด้วยคีย์เวิร์ดแบบคงที่ซึ่งระบุว่าเป็นวิธีการระดับคลาส และไม่จำเป็นต้องเรียกใช้คลาสอินสแตนซ์เพื่อให้ทำงาน
การเรียกใช้ฟังก์ชันไดเร็กทอรีกำลังจะเกิดขึ้น สามารถใช้เมธอด GetCurrentDirectory() เพื่อรับไดเร็กทอรีการทำงานปัจจุบันของแอปพลิเคชัน ฟังก์ชัน GetCurrentDirectory() เป็นฟังก์ชันคงที่จากคลาส 'Directory' ซึ่งเป็นส่วนหนึ่งของเนมสเปซ 'System.IO' มันจะส่งคืนสตริงที่แสดงถึงไดเร็กทอรีปัจจุบันและกำหนดให้กับตัวแปร “cd”
วิธีการ Console.WriteLine() ใช้เพื่อแสดงบรรทัดข้อความไปยังเอาต์พุตมาตรฐาน (คอนโซล) ในกรณีนี้ จะพิมพ์ข้อความ “My Current Directory:” ที่เชื่อมกับค่าของตัวแปร “cd” ซึ่งเก็บเส้นทางไดเรกทอรีปัจจุบัน
โดยใช้ระบบ ;
โดยใช้ระบบ ไอโอ ;
คลาสดัมมี่ {
คงที่ เป็นโมฆะ หลัก ( ) {
สตริงซีดี = ไดเรกทอรี รับ CurrentDirectory ( ) ;
คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบันของฉัน: ' + ซีดี ) ;
}
}
เมื่อคุณรันโปรแกรม C# นี้ เมธอด 'Main' จะถูกดำเนินการ และไดเร็กทอรีปัจจุบันจะแสดงบนคอนโซล ในกรณีที่คุณใช้คอมไพเลอร์ C# ออนไลน์ จะแสดงพาธของคอมไพเลอร์ เช่น /home/compiler
อาจแตกต่างกันไปขึ้นอยู่กับวิธีที่คุณรันแอปพลิเคชัน (เช่น จาก Visual Studio, พร้อมรับคำสั่ง หรือ IDE อื่น)
ตัวอย่างที่ 2:
นอกเหนือจากคลาส “Directory” แล้ว สภาพแวดล้อมของ C# ยังสามารถใช้เพื่อรับไดเร็กทอรีการทำงานปัจจุบันได้อีกด้วย มาอธิบายโค้ดตัวอย่าง C# ที่ให้มาทีละขั้นตอน รหัสเริ่มต้นด้วย 'การใช้ระบบ' คำสั่งซึ่งรวมถึงเนมสเปซ “ระบบ” ในโปรแกรม รหัสกำหนดคลาสใหม่ชื่อ 'ทดสอบ'
ตัวแปรประเภทสตริงที่มีชื่อ “dir” จะถูกประกาศและได้รับค่าภายในฟังก์ชัน “Main” หากต้องการรับไดเร็กทอรีที่ใช้งานอยู่ในปัจจุบันของแอปพลิเคชัน ให้ใช้แอตทริบิวต์ Environment.CurrentDirectory คลาส 'สภาพแวดล้อม' ให้ข้อมูลเกี่ยวกับสภาพแวดล้อมที่แอปพลิเคชันกำลังทำงานอยู่ รวมถึงข้อมูลเกี่ยวกับระบบไฟล์และตัวแปรสภาพแวดล้อมของระบบ
วิธีการ 'Console.WriteLine' ใช้เพื่อแสดงไดเร็กทอรีปัจจุบันบนคอนโซลของ IDE ที่คุณใช้อยู่ ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” กับค่าที่เก็บไว้ในตัวแปร “dir”
โดยใช้ระบบ ;การทดสอบในชั้นเรียน {
คงที่ เป็นโมฆะ หลัก ( ) {
ผบ = สิ่งแวดล้อม. ไดเรกทอรีปัจจุบัน ;
คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + คุณ ) ;
}
}
เมธอด 'หลัก' จะถูกเรียกใช้โดยค่าเริ่มต้นเมื่อเรียกใช้แอปพลิเคชัน เริ่มต้นด้วยการดึงข้อมูลไดเร็กทอรีปัจจุบันโดยใช้ Environment.CurrentDirectory จากนั้นจะแสดงไดเร็กทอรีปัจจุบันโดยพิมพ์ข้อความ “Current Directory:” ตามด้วยพาธไดเร็กทอรีไปยังคอนโซลโดยใช้คุณสมบัติ Environment.CurrentDirectory
ตัวอย่างที่ 3:
การรับไดเร็กทอรีปัจจุบันของแอปพลิเคชันทำได้ง่ายด้วยแอตทริบิวต์ AppDomain.CurrentDomain.BaseDirectory เราเพิ่มตัวอย่างโค้ด C# อีกตัวอย่างหนึ่งเพื่อสาธิตการใช้ AppDomain.CurrentDomain.BaseDirectory
หลังจากเพิ่มเนมสเปซ “ระบบ” แล้ว รหัสจะกำหนดคลาสที่เรียกว่า “ทดสอบ” วิธีการ 'หลัก' เริ่มดำเนินการโดยเพิ่มบรรทัดเพื่อดึงไดเร็กทอรีการทำงานปัจจุบันของแอปพลิเคชัน คลาส 'AppDomain' แสดงถึงโดเมนแอปพลิเคชัน และ 'CurrentDomain' เป็นคุณสมบัติคงที่ที่ส่งคืนโดเมนแอปพลิเคชันปัจจุบัน
ในทางกลับกัน คุณสมบัติ “BaseDirectory” จะให้ไดเร็กทอรีฐาน (หรือที่เรียกว่าไดเร็กทอรีรากของแอปพลิเคชัน) ของโดเมนแอปพลิเคชันปัจจุบัน บรรทัดถัดไปประกาศตัวแปรชื่อ 'dir' ซึ่งเป็นประเภทสตริงเพื่อจัดเก็บไดเร็กทอรีปัจจุบัน บรรทัดถัดไปที่ต่อเนื่องกันจะส่งออกไดเร็กทอรีปัจจุบันไปยังคอนโซลโดยใช้เมธอด Console.WriteLine ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” เข้ากับค่าของตัวแปร “dir”
โดยใช้ระบบ ;การทดสอบในชั้นเรียน {
คงที่ เป็นโมฆะ หลัก ( ) {
ผบ = แอพโดเมน. ปัจจุบันโดเมน . ไดเรกทอรีฐาน ;
คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + คุณ ) ;
}
}
เมื่อคุณรันโปรแกรม C# นี้ จะแสดงไดเร็กทอรีปัจจุบันของแอปพลิเคชันบนคอนโซล
ตัวอย่างที่ 4:
ถึงเวลาสำหรับภาพประกอบสุดท้ายจากคู่มือนี้ รหัส C# ที่ให้มานั้นเป็นแอปพลิเคชันคอนโซลธรรมดาที่สาธิตการรับไดเร็กทอรีปัจจุบันโดยใช้เมธอด “Path.GetDirectoryName()” และ “Assembly.GetExecutingAssembly().Location”
ในโค้ดนี้ มีการนำเข้าเนมสเปซสามรายการ: “System”, “System.IO” และ “System.Reflection” เนมสเปซเหล่านี้มีคลาสและวิธีการที่จำเป็นสำหรับการดำเนินการต่างๆ ในโค้ด วิธีการ 'หลัก' และคลาสที่เรียกว่า 'ทดสอบ' ถูกกำหนดไว้ในรหัส หากต้องการรับไดเร็กทอรีการทำงานปัจจุบัน เมธอด 'Assembly.GetExecutingAssembly()' จะส่งคืนออบเจ็กต์ 'Assembly' ที่แสดงถึงแอสเซมบลีที่ดำเนินการอยู่ในปัจจุบัน (เช่น ปฏิบัติการที่กำลังทำงานอยู่)
คุณสมบัติ 'ตำแหน่ง' ของวัตถุ 'แอสเซมบลี' ให้เส้นทางแบบเต็มไปยังตำแหน่งของไฟล์ปฏิบัติการที่รันอยู่ (รวมถึงชื่อไฟล์) ตอนนี้คุณสมบัติ 'ตำแหน่ง' อาจมีเส้นทางแบบเต็มไปยังไฟล์ปฏิบัติการรวมถึงชื่อไฟล์ด้วย หากต้องการแยกเฉพาะส่วนไดเรกทอรี ระบบจะใช้ “Path.GetDirectoryName()” เส้นทางไดเร็กทอรีที่เก็บไฟล์จะถูกส่งกลับโดยฟังก์ชันนี้หลังจากยอมรับที่อยู่ไฟล์เป็นอินพุต
สุดท้ายโค้ดจะพิมพ์ไดเร็กทอรีปัจจุบันที่ได้รับไปยังคอนโซลโดยใช้ 'Console.WriteLine()' ตัวดำเนินการ “+” ใช้เพื่อเชื่อมสตริง “Current Directory:” กับค่าของตัวแปร “cd” (ซึ่งเก็บเส้นทางไดเรกทอรีปัจจุบัน)
โดยใช้ระบบ ;โดยใช้ระบบ ไอโอ ;
โดยใช้ระบบ การสะท้อน ;
การทดสอบในชั้นเรียน {
คงที่ เป็นโมฆะ หลัก ( ) {
สตริงซีดี = เส้นทาง. รับ DirectoryName ( การประกอบ. รับ ExecutingAssembly ( ) . ที่ตั้ง ) ;
คอนโซล เขียนไลน์ ( 'ไดเรกทอรีปัจจุบัน: ' + ซีดี ) ;
}
}
เมื่อคุณรันโปรแกรม C# นี้ มันจะแสดงไดเร็กทอรีปัจจุบันของไฟล์ปฏิบัติการที่รันอยู่บนคอนโซลตามเอาต์พุตที่แสดงในรูปภาพ:
บทสรุป
อินสแตนซ์ดังกล่าวได้รับระบบไฟล์ปัจจุบันของแอปพลิเคชันโดยใช้วิธีและคุณลักษณะ C# ต่างๆ โปรดทราบว่าเส้นทางปัจจุบันอาจเปลี่ยนแปลงได้ขึ้นอยู่กับสภาพแวดล้อมที่ทำงานอยู่และวิธีการเปิดตัวโปรแกรม